# Docker Copy `.env.docker.example` to `.env`, fill in secrets, then: ```bash docker network create traefik-network # only if it does not exist yet docker compose up -d --build ``` | Service | Container | Exposure | |---------|-----------|----------| | Bot + FastAPI | `hexahost-bot` | Internal (`bot:8000`) — Discord Gateway outbound | | Dashboard | `hexahost-dashboard` | Traefik → `https://bot.hexahost.de` | Data volumes: `bot-db`, `bot-jsondb`, `bot-logs`. Discord OAuth redirect: `https://bot.hexahost.de/api/auth/callback/discord` If your Traefik cert resolver is not named `letsencrypt`, set `TRAEFIK_CERT_RESOLVER` in `.env`. Entrypoints expected: `web` (80) and `websecure` (443).