services: sourcebot: image: ghcr.io/sourcebot-dev/sourcebot:latest user: sourcebot restart: always container_name: sourcebot depends_on: postgres: condition: service_healthy redis: condition: service_healthy ports: - "3000:3000" volumes: - ./config.json:/data/config.json - sourcebot_data:/data environment: - CONFIG_PATH=/data/config.json - AUTH_URL=${AUTH_URL:-http://localhost:3000} - AUTH_SECRET=${AUTH_SECRET:-000000000000000000000000000000000} # CHANGEME: generate via `openssl rand -base64 33` - SOURCEBOT_ENCRYPTION_KEY=${SOURCEBOT_ENCRYPTION_KEY:-000000000000000000000000000000000} # CHANGEME: generate via `openssl rand -base64 24` - DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres@postgres:5432/postgres} # CHANGEME - REDIS_URL=${REDIS_URL:-redis://redis:6379} # CHANGEME - SOURCEBOT_EE_LICENSE_KEY=${SOURCEBOT_EE_LICENSE_KEY:-} - SOURCEBOT_TELEMETRY_DISABLED=${SOURCEBOT_TELEMETRY_DISABLED:-false} # For the full list of environment variables see: # https://docs.sourcebot.dev/docs/configuration/environment-variables postgres: image: docker.io/postgres:${POSTGRES_VERSION:-latest} restart: always healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 3s timeout: 3s retries: 10 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres # CHANGEME POSTGRES_DB: postgres ports: - 127.0.0.1:5432:5432 volumes: - sourcebot_postgres_data:/var/lib/postgresql/data redis: image: docker.io/redis:${REDIS_VERSION:-latest} restart: always ports: - 127.0.0.1:6379:6379 healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 3s timeout: 10s retries: 10 volumes: - sourcebot_redis_data:/data volumes: sourcebot_data: driver: local sourcebot_postgres_data: driver: local sourcebot_redis_data: driver: local