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.
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 and verify
Before starting, obtain your account API key from the Account page.
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-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
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
