57 lines
2.5 KiB
YAML
57 lines
2.5 KiB
YAML
services:
|
|
cubeadmin:
|
|
image: git.azuze.fr/kawa/cubeadmin:latest
|
|
# To build locally instead of pulling, uncomment:
|
|
# build: .
|
|
container_name: cubeadmin
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${PORT:-3000}:3000"
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: 3000
|
|
|
|
# ── Auth ────────────────────────────────────────────────────
|
|
BETTER_AUTH_URL: ${BETTER_AUTH_URL}
|
|
BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET}
|
|
|
|
# ── Email / SMTP ────────────────────────────────────────────
|
|
SMTP_HOST: ${SMTP_HOST:-}
|
|
SMTP_PORT: ${SMTP_PORT:-587}
|
|
SMTP_SECURE: ${SMTP_SECURE:-false}
|
|
SMTP_USER: ${SMTP_USER:-}
|
|
SMTP_PASS: ${SMTP_PASS:-}
|
|
EMAIL_FROM: ${EMAIL_FROM:-CubeAdmin <noreply@example.com>}
|
|
|
|
# ── Minecraft / RCON ────────────────────────────────────────
|
|
MC_SERVER_PATH: /mc-server
|
|
MC_RCON_HOST: ${MC_RCON_HOST:-127.0.0.1}
|
|
MC_RCON_PORT: ${MC_RCON_PORT:-25575}
|
|
MC_RCON_PASSWORD: ${MC_RCON_PASSWORD}
|
|
|
|
# ── Database ────────────────────────────────────────────────
|
|
DATABASE_PATH: /app/data/cubeadmin.db
|
|
|
|
# ── Security ────────────────────────────────────────────────
|
|
TRUSTED_ORIGINS: ${TRUSTED_ORIGINS}
|
|
RATE_LIMIT_RPM: ${RATE_LIMIT_RPM:-100}
|
|
|
|
# ── First admin (only used on first startup) ─────────────────
|
|
INITIAL_ADMIN_EMAIL: ${INITIAL_ADMIN_EMAIL:-admin@example.com}
|
|
INITIAL_ADMIN_NAME: ${INITIAL_ADMIN_NAME:-Administrator}
|
|
INITIAL_ADMIN_PASSWORD: ${INITIAL_ADMIN_PASSWORD:-ChangeMe123!}
|
|
|
|
# ── Optional ────────────────────────────────────────────────
|
|
BLUEMAP_URL: ${BLUEMAP_URL:-}
|
|
|
|
volumes:
|
|
# SQLite database + uploaded files
|
|
- cubeadmin-data:/app/data
|
|
# Minecraft server files (set MC_DATA_PATH in .env to override host path)
|
|
- ${MC_DATA_PATH:-./mc-data}:/mc-server
|
|
# Backups
|
|
- ${BACKUPS_PATH:-./backups}:/backups
|
|
|
|
volumes:
|
|
cubeadmin-data:
|