What is Server Mode?
Server Mode connects dbxlite to your local DuckDB CLI via HTTP. This gives you the full power of native DuckDB - all extensions, unlimited memory, and direct filesystem access.
Why Use Server Mode?
| Feature | Server Mode | Browser Mode |
|---|---|---|
| Memory | Unlimited | ~4GB limit |
| Extensions | All (httpfs, spatial, iceberg, etc.) | Limited subset |
| Filesystem | Direct access | File handles only |
| Performance | Native speed | WASM overhead |
Quick Start
Step 1: Start the Asset Server
npx dbxlite-ui
This starts a local server on port 8080 that serves the dbxlite UI.
Step 2: Launch DuckDB with dbxlite
In a new terminal:
export ui_remote_url="http://localhost:8080"
duckdb -unsigned -ui
Step 3: Open Your Browser
Navigate to http://localhost:4213. You're now using dbxlite with full native DuckDB!
Alternative: Use Hosted Assets
If you don't want to run npx, you can use our hosted assets:
export ui_remote_url="https://sql.dbxlite.com"
duckdb -unsigned -ui
The hosted URL only serves static UI assets. All data and query execution stays local on your machine.
Working with Databases
In Server mode, you can attach and query local database files:
-- Attach a database
ATTACH 'sales.duckdb' AS sales;
-- Query across databases
SELECT * FROM sales.orders
JOIN memory.customers ON orders.customer_id = customers.id;
Using Extensions
Server mode has access to all DuckDB extensions:
-- Install and load httpfs for remote files
INSTALL httpfs;
LOAD httpfs;
-- Query remote Parquet files
SELECT * FROM read_parquet('s3://bucket/data.parquet');
-- Use spatial extension
INSTALL spatial;
LOAD spatial;
Managing Server Settings
In Server mode, the Settings panel shows a Server tab where you can:
- Extensions - View installed extensions, load or install new ones
- Settings - Configure threads, memory_limit, temp_directory
- Secrets - View configured S3, GCS, Azure credentials
- Variables - Monitor session variables
The -unsigned Flag
The -unsigned flag is required when using custom UI URLs. This is a DuckDB security measure to ensure users explicitly trust the UI source.
Permanent Setup
Add to your shell config (~/.zshrc or ~/.bashrc):
export ui_remote_url="http://localhost:8080"
# or for hosted: export ui_remote_url="https://sql.dbxlite.com"
Then just run duckdb -unsigned -ui anytime.
Next Steps
- Loading Data - Import files and remote data
- SQL Reference - DuckDB SQL syntax
- Examples - Real-world query examples