Skip to content

Latest commit

 

History

History
106 lines (76 loc) · 2.84 KB

File metadata and controls

106 lines (76 loc) · 2.84 KB

ServiceRadar Docker Quick Start

One Command Setup - RECOMMENDED

docker compose up

Uses pre-built images from GitHub Container Registry (GHCR). Fast, consistent, and production-ready.

Development (Local Build)

docker compose -f docker-compose.dev.yml up

Builds images locally from source. Best for development and testing changes.

Tip: To make the dev file the default (no -f needed), set this in .env:

COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml

What happens with one command:

  • ✅ Generate mTLS certificates automatically
  • ✅ Generate random CNPG credentials stored in the cnpg-credentials volume
  • ✅ Pull/Build Docker images
  • ✅ Start the ServiceRadar stack (CNPG, NATS, web-ng, core-elx, agent-gateway, zen, log-promotion, db-event-writer)
  • ✅ Set up networking and persistent volumes
  • ✅ Run the core-elx migration runner to bootstrap schema/extensions

Alternative Commands

# Production deployment with pre-built images (default)
docker compose up

# Development with local builds  
docker compose -f docker-compose.dev.yml up

# Using Makefile (uses pre-built images)
make -f Makefile.docker start

# All services (optionally includes Redpanda)
make -f Makefile.docker up-full

Check Status

# View service status
make -f Makefile.docker status

# View logs
make -f Makefile.docker logs

# Test connectivity
make -f Makefile.docker test

Access Services

Stop Services

docker compose down

Environment Variables (Optional)

Copy .env.example to .env to customize:

  • Database passwords
  • API keys
  • Log levels
  • Service configuration
  • Optional compose defaults (see COMPOSE_FILE in .env.example)

All values have sensible defaults, so the .env file is optional.

Note: CNPG binds to loopback by default. Set CNPG_PUBLIC_BIND=0.0.0.0 in .env if you need LAN access.

If you already have a CNPG data volume from a previous install, note that we now store randomly generated DB credentials in a dedicated volume instead of shipping static defaults. Seed the cnpg-credentials volume once before starting:

docker compose run --rm \
  -e CNPG_PASSWORD=<app-password> \
  -e CNPG_SUPERUSER_PASSWORD=<postgres-password> \
  -e CNPG_SPIRE_PASSWORD=<spire-password> \
  db-credentials

What's Running?

  • cert-generator: One-time container that generates mTLS certificates
  • core-elx: ServiceRadar control plane and business logic
  • core-elx-migrations: One-shot migration runner (exits after schema bootstrap)

For full documentation, see README-Docker.md.