External Connections (Alpha)
Alpha Feature
This external connection feature is currently in alpha stage and is provided as a proof of concept. It is still under active development and may undergo significant changes. Not recommended for production use.
Quick Start​
The fastest way to test experiment with external connections is to use the provided demo credentials:
You can create your own connection @ https://demo.duckui.com/connections
Name: EXAMPLE (Or any name you prefer)
Host: https://quackpy.fly.dev
Port: 443
Database: - (leave empty)
User: duckui
Password: duckui
Connection Methods​
Method 1: Docker Environment Variables​
docker run -p 5522:5522 \
-e DUCK_UI_EXTERNAL_CONNECTION_NAME="EXAMPLE" \
-e DUCK_UI_EXTERNAL_HOST="https://quackpy.fly.dev" \
-e DUCK_UI_EXTERNAL_PORT=443 \
-e DUCK_UI_EXTERNAL_USER="" \
-e DUCK_UI_EXTERNAL_PASS="" \
-e DUCK_UI_EXTERNAL_DATABASE_NAME="" \
-e DUCK_UI_ALLOW_UNSIGNED_EXTENSIONS="true"
note
- DUCK_UI_EXTERNAL_HOST: Currently, only Quackpy - That's running http_server extension under the hood is available as a provider
- USER/PASS: Any values can be used to create credentials
- DATABASE_NAME: Not required for this implementation (leave empty)
- DUCK_UI_ALLOW_UNSIGNED_EXTENSIONS: Set to "true" if you need to use unsigned DuckDB extensions
Method 2: User Interface​
You can create connections directly through the Duck-UI interface:
- Navigate to Connections page
- Click "Add Connection"
- Fill in the connection details
- Test and save your connection
Important Disclaimers​
Production Use Warning​
This feature is not intended for production use or storing sensitive data. Use at your own risk and only with non-sensitive, test data.
Security Considerations​
- Connection credentials are stored in local storage
- Communication may not be encrypted depending on server configuration
- No built-in protection against SQL injection
- Basic authentication implementation
- Use in trusted environments only
Technical Requirements​
The external server must support:
- HTTP Basic Authentication
- CORS for cross-origin requests
- POST requests with query parameters
- ClickHouse JSON/JSONCompact response format
Current Limitations​
- Limited error handling
- Basic authentication only
- Network-dependent performance
- Incomplete schema information
- Limited DuckDB feature support
- No built-in security protections
External Resources​
Testing the Connection​
- Use the provided demo credentials
- Test basic queries to verify connectivity
- Explore available databases and tables
- Note any performance or functionality limitations
caution
Remember this is an alpha feature. Functionality may be limited or change without notice.