75 lines
2.1 KiB
YAML
75 lines
2.1 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: .
|
|
restart: unless-stopped
|
|
environment:
|
|
TRUST_HOST_PROXY: "1"
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
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
|