Skip to content

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 OR wget 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:

bash
# 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:

bash
# 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.

bash
# 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:

bash
./stop.sh

Updating Services

To update the DBConvert Streams services to a newer version:

bash
# 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:

bash
./uninstall.sh

Service URLs

After starting the services, they will be available at:

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 configurations
  • vault-data: Vault data including encrypted credentials
  • nats-data: NATS message store

Local Directories

  • logs/: Service logs
  • config/: Service configurations

Development Workflow

When developing with DBConvert Streams locally:

  1. The installer and scripts automatically detect your local environment, but you can use the --local flag if needed
  2. Check logs in the logs/ directory for debugging
  3. Access service UIs directly through localhost URLs
  4. Use docker compose ps to check service status

Troubleshooting

Common Local Deployment Issues

  1. 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
  2. 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
  3. Resource limitations:

    • If services are crashing, check Docker's resource limits
    • Increase memory allocation in Docker Desktop settings

DBConvert Streams - event driven replication for databases