services:
panel:
build:
context: .
dockerfile: panel/backend/Dockerfile
container_name: ghard-panel
ports:
- "${GHARD_PANEL_PORT:-8000}:8000"
environment:
# задай свой токен: `cp panel/backend/.env.example .env` и поправь
GHARD_ADMIN_TOKEN: ${GHARD_ADMIN_TOKEN:-change-me}
# gnexus-auth (OAuth PKCE): задаёшь CLIENT_ID — панель закрывается входом
GHARD_AUTH_BASE_URL: ${GHARD_AUTH_BASE_URL:-}
GHARD_AUTH_CLIENT_ID: ${GHARD_AUTH_CLIENT_ID:-}
GHARD_AUTH_CLIENT_SECRET: ${GHARD_AUTH_CLIENT_SECRET:-}
GHARD_AUTH_REDIRECT_URI: ${GHARD_AUTH_REDIRECT_URI:-}
GHARD_AUTH_WEBHOOK_SECRET: ${GHARD_AUTH_WEBHOOK_SECRET:-}
GHARD_AUTH_ALLOWLIST: ${GHARD_AUTH_ALLOWLIST:-}
# прочие настройки: офлайн-мультипликатор, периоды пробов, Synapse
GHARD_OFFLINE_MULTIPLIER: ${GHARD_OFFLINE_MULTIPLIER:-3}
GHARD_SHARE_INTERVAL: ${GHARD_SHARE_INTERVAL:-60}
GHARD_HEALTH_INTERVAL: ${GHARD_HEALTH_INTERVAL:-30}
GHARD_HEALTH_TIMEOUT: ${GHARD_HEALTH_TIMEOUT:-5}
GHARD_SYNAPSE_URL: ${GHARD_SYNAPSE_URL:-}
GHARD_SYNAPSE_API_KEY: ${GHARD_SYNAPSE_API_KEY:-}
GHARD_SYNAPSE_DEFAULT_SOURCE: ${GHARD_SYNAPSE_DEFAULT_SOURCE:-hard-panel}
GHARD_SYNAPSE_TIMEOUT: ${GHARD_SYNAPSE_TIMEOUT:-10}
volumes:
- panel-data:/data
restart: unless-stopped
volumes:
panel-data: