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 } # ── 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: