Docker Deployment
Deploy DBConvert Streams with Docker on any machine — your local server, a VPS (DigitalOcean, Hetzner, Vultr, etc.), or a cloud VM (AWS EC2, GCP, Azure). Your data stays on your infrastructure, no cloud dependency required. The install script handles Docker Compose setup, networking, and service configuration automatically.
Prerequisites
- Docker Engine 24.0 or newer
- Docker Compose v2.20 or newer
curlorwget- 2 CPU cores, 2 GB RAM, 2 GB disk space minimum
Deployment modes
Docker deployments run in one of two modes:
| Mode | Default | Description |
|---|---|---|
| Standalone | Yes | Lightweight stack — SQLite, encrypted file secrets, NATS coordination. No external services beyond NATS. |
| Corporate | No | Adds Consul (service discovery, config storage) and Vault (secrets management) for enterprise infrastructure. |
Select the deployment mode when you run start.sh. Standalone is the default.
Quick install
curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh
The installer prompts for a directory (default: /opt/dbconvert-streams-docker) and detects whether you are on a local machine or a cloud server. At the end of an interactive install, it asks whether to start DBConvert Streams immediately; Yes is the default.
Install options
| Flag | Description |
|---|---|
-v, --version VERSION | Install a specific version |
-d, --directory DIR | Custom install directory |
-s, --secure | Generate SSL certificates during install |
--start | Start services after an argument-based/non-interactive install |
Start and verify
Before starting, obtain your account API key from the Account page.
For an interactive install, choose Yes at the final start prompt. If you chose No, or installed with arguments without --start, start it manually:
cd /opt/dbconvert-streams-docker
./start.sh
# or:
./start.sh --mode corporate
Open http://localhost (local) or http://YOUR_SERVER_IP (cloud). You should see the DBConvert Streams UI.
On first use, each client enters and stores the account API key locally in the UI. Seat usage is tracked separately by install ID.
Local file workflows in Docker
Docker deployments create two shared host folders by default:
./importsmounted into containers as/data/imports./exportsmounted into containers as/data/exports
Use these container paths in file connections:
- local file sources:
/data/imports - local file targets:
/data/exports
You can override the host-side folders in .env with:
STREAMS_IMPORTS_DIRSTREAMS_EXPORTS_DIR
Start options
| Flag | Description |
|---|---|
-m, --mode MODE | standalone (default) or corporate |
-i, --ip IP | Manually specify public IP |
-s, --secure | Enable HTTPS |
-n, --no-secure | Force HTTP only |
Choose your deployment path
| Scenario | Guide |
|---|---|
| Local machine | Docker Local |
| Cloud server | Docker Cloud |
| Fastest cloud setup | DigitalOcean 1-Click App |
Common commands
Run these from the install directory:
./start.sh # Start services (HTTP)
./start.sh --secure # Start with HTTPS
./stop.sh # Stop services, preserve data
./update.sh # Update to latest version
./uninstall.sh # Remove all services and data
Service architecture
Standalone mode (default)
| Service | Description |
|---|---|
stream-api | REST API — stores config in SQLite, secrets in encrypted file |
stream-reader | Source database reader |
stream-writer-1, stream-writer-2 | Target database writers |
stream-query-worker | Runs federated and file/S3 queries outside the API, so a crash in a native query engine cannot take the API down. New in 2.6.0 — an existing deployment gets it by pulling the updated compose file. Without it, federated queries answer 502 QUERY_WORKER_CRASHED; everything else keeps working. Scale with docker compose up --scale stream-query-worker=N |
stream-ui | Web interface |
nats | Message streaming and service coordination |
nginx | Reverse proxy (HTTP on port 8080, HTTPS on port 443) |
Corporate mode (additional services)
| Service | Description |
|---|---|
consul | Service discovery and configuration storage |
vault | Secrets management |
Video walkthrough
4:16Watch on YouTubeHow to deploy DBConvert Streams on any host (cloud or local)Step-by-step server setup, installation, and configuration.
Next steps
- Desktop Apps — lightweight local install without Docker
- OS Compatibility — supported Linux distributions
- Quick Start — end-to-end first stream walkthrough