Files
HubBackendDocker/compose.yaml
T
2026-08-25 09:19:05 +00:00

77 lines
2.2 KiB
YAML

# Use the backend source code in upstream/HubBackend.
name: drivershub
services:
mariadb:
image: mariadb:10.11
restart: unless-stopped
entrypoint: ["/usr/local/bin/hub-mariadb-entrypoint"]
command: ["mariadbd", "--log-warnings=1"]
environment:
MARIADB_DATABASE: ${DB_NAME:-drivershub}
MARIADB_USER: drivershub
MARIADB_PASSWORD: ${DB_PASSWORD:-change-me}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-change-root-me}
volumes:
- ./data/mariadb:/var/lib/mysql
- ./data/mariadb-external:/var/lib/mysqlext
- ./docker/mariadb-entrypoint.sh:/usr/local/bin/hub-mariadb-entrypoint:ro
- ./docker/mariadb-init.sql:/docker-entrypoint-initdb.d/10-drivershub.sql:ro
healthcheck:
test: ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized"]
interval: 5s
timeout: 5s
retries: 30
valkey:
image: valkey/valkey:8-alpine
restart: unless-stopped
command: ["valkey-server", "--appendonly", "yes"]
volumes:
- ./data/valkey:/data
healthcheck:
test: ["CMD", "valkey-cli", "ping"]
interval: 5s
timeout: 3s
retries: 20
db-init:
build:
context: .
command: ["drivershub", "--config", "/app/config/config.json", "setup", "init-db"]
volumes:
- ./config:/app/config
depends_on:
mariadb:
condition: service_healthy
restart: "no"
bannergen:
build:
context: .
restart: unless-stopped
command: ["bannergen", "--host", "0.0.0.0", "--port", "8700", "--workers", "2"]
backend:
build:
context: .
cache_from:
- type=local,src=.build-cache/backend
cache_to:
- type=local,dest=.build-cache/backend,mode=max
restart: unless-stopped
environment:
TRUST_HOST_PROXY: "1"
command: ["drivershub", "--config", "/app/config/config.json", "--banner-service-url", "http://bannergen:8700/banner"]
volumes:
- ./config:/app/config
ports:
- "${BACKEND_BIND:-127.0.0.1:17777}:7777"
depends_on:
db-init:
condition: service_completed_successfully
valkey:
condition: service_healthy
bannergen:
condition: service_started