Docker Local Deployment
This guide covers deploying DBConvert Streams on your local machine using Docker for development, testing, or personal use.
Prerequisites
- Docker Engine 20.10.0 or newer
- Docker Compose v2.0.0 or newer
- Either
curl
ORwget
for downloading files - At least 2GB of available RAM
- 2GB of free disk space
- 2 CPU cores minimum
Quick Start
Automated Installation
The fastest way to get started for local development is using our automated installer:
Using curl:
# Install with automatic environment detection
curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh
# Or explicitly specify local installation
curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh -s -- --local
Using wget:
# Install with automatic environment detection
wget -qO- https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh
# Or explicitly specify local installation
wget -qO- https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh -s -- --local
The installer automatically detects whether you're on a local machine or a cloud server and configures the deployment accordingly. The --local
flag is optional and can be used to explicitly force local mode if the automatic detection doesn't work as expected.
When running on a local machine:
- All services use
localhost
for connections - All services are configured for local development
Managing Services
Starting Services
Before starting the services, obtain your API key from https://streams.dbconvert.com/account.
# Start with automatic environment detection
./start.sh
# Or explicitly specify local mode
./start.sh --local
Stopping Services
To temporarily stop all services while preserving data:
./stop.sh
Updating Services
To update the DBConvert Streams services to a newer version:
# Update to latest version
./update.sh
# Update to specific version
./update.sh --version v1.0.0
Uninstallation
To permanently remove DBConvert Streams and all associated data:
./uninstall.sh
Service URLs
After starting the services, they will be available at:
- DBConvert Streams UI: http://localhost (default port 80)
- DBConvert Streams API: http://localhost/api/
- Consul UI: http://localhost:8500
- Vault UI: http://localhost:8200
- NATS Monitoring: http://localhost:8222
API Access Change
The API is now accessible through the Nginx proxy at /api/
instead of directly via port 8020. This simplifies the architecture and security configuration.
Data Persistence
Docker Volumes
consul-data
: Consul data including service registry and configurationsvault-data
: Vault data including encrypted credentialsnats-data
: NATS message store
Local Directories
logs/
: Service logsconfig/
: Service configurations
Development Workflow
When developing with DBConvert Streams locally:
- The installer and scripts automatically detect your local environment, but you can use the
--local
flag if needed - Check logs in the
logs/
directory for debugging - Access service UIs directly through localhost URLs
- Use
docker compose ps
to check service status
Troubleshooting
Common Local Deployment Issues
Port conflicts:
- If you see "port already in use" errors, change the port in your
.env
file - Common conflicts occur with ports 80, 443, and 8500
- If you see "port already in use" errors, change the port in your
Docker permission issues:
- Add your user to the docker group:bash
sudo usermod -aG docker $USER
- Then log out and log back in for the changes to take effect
- Add your user to the docker group:
Resource limitations:
- If services are crashing, check Docker's resource limits
- Increase memory allocation in Docker Desktop settings