StatistaAmeri/docker-compose.yml

41 lines
1.4 KiB
YAML

# Run the server stack (backend API + admin panel) on any Docker host.
# docker compose up -d --build
# Set secrets in a .env file next to this (ADMIN_PASSWORD, ASIANMETAL_TOKEN, ...).
services:
api:
build:
context: ./backend
image: didvan-api
restart: unless-stopped
ports:
- "8000:8000"
environment:
DB_PATH: /data/asianmetal.db
REPORTS_DIR: /data/reports
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost:5174}
COOKIE_SECURE: ${COOKIE_SECURE:-0}
COOKIE_SAMESITE: ${COOKIE_SAMESITE:-lax}
SEED_ADMIN: ${SEED_ADMIN:-0}
TRUSTED_PROXY_CIDRS: ${TRUSTED_PROXY_CIDRS:-127.0.0.1/32,::1/128,172.16.0.0/12}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?set ADMIN_PASSWORD in .env}
ASIANMETAL_TOKEN: ${ASIANMETAL_TOKEN:-}
volumes:
- didvan-data:/data
# Chromium needs more shared memory than the 64MB default
shm_size: "1gb"
# Admin panel — keep it OFF public networks. Uncomment to run it (local/VPN only).
# admin:
# build: { context: . , dockerfile: admin/Dockerfile }
# image: didvan-admin
# restart: unless-stopped
# ports: ["127.0.0.1:8001:8001"]
# environment:
# DB_PATH: /data/asianmetal.db
# ADMIN_USER: ${ADMIN_USER:-admin}
# ADMIN_PASSWORD: ${ADMIN_PASSWORD:?set ADMIN_PASSWORD in .env}
# volumes: [ "didvan-data:/data" ]
volumes:
didvan-data: