38 lines
1.4 KiB
YAML
38 lines
1.4 KiB
YAML
services:
|
|
gaokao-admin:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: localhost/gaokao-volunteer-system-admin:latest
|
|
container_name: gaokao-admin
|
|
restart: unless-stopped
|
|
environment:
|
|
GAOKAO_ENV: ${GAOKAO_ENV:-dev}
|
|
GAOKAO_JWT_SECRET: ${GAOKAO_JWT_SECRET:-dev-only-local-jwt-secret-please-override-before-production-1234567890abcdef}
|
|
GAOKAO_ADMIN_USER: ${GAOKAO_ADMIN_USER:-admin}
|
|
GAOKAO_ADMIN_PASS: ${GAOKAO_ADMIN_PASS:-dev-only-local-admin-pass-please-change}
|
|
GAOKAO_ORDERS_FERNET_KEY: ${GAOKAO_ORDERS_FERNET_KEY:-dev-only-local-orders-fernet-key-please-change}
|
|
GAOKAO_DB_PATH: /var/lib/gaokao/orders/admin.db
|
|
GAOKAO_ORDERS_DB_PATH: /var/lib/gaokao/orders.db
|
|
GAOKAO_SHARE_DB_PATH: /var/lib/gaokao/share/short_links.db
|
|
GAOKAO_SHARE_REPORT_DIR: /var/lib/gaokao/share/reports
|
|
ports:
|
|
- "${GAOKAO_ADMIN_BIND:-127.0.0.1}:${GAOKAO_ADMIN_PORT:-8000}:8000"
|
|
volumes:
|
|
- gaokao_admin_data:/var/lib/gaokao
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"python",
|
|
"-c",
|
|
"import json,sys,urllib.request; data=json.load(urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=5)); sys.exit(0 if data.get('status') == 'ok' else 1)",
|
|
]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 20s
|
|
|
|
volumes:
|
|
gaokao_admin_data:
|