services: hytale-server-manager: image: ghcr.io/nebula-codes/hytale-server-manager:0.3.26 container_name: hytale-server-manager restart: unless-stopped ports: - "3001:3001/tcp" - "5520-5550:5520-5550/udp" environment: # User/Group ID for file permissions (use `id` command to find yours) - PUID=1000 - PGID=1000 - NODE_ENV=production - PORT=3001 - HOST=0.0.0.0 # Required secrets - generate your own! # Generate with: openssl rand -hex 64 - JWT_SECRET=9aa8cdb1d18b97eaf60df70887c7f6e56cf115ad3eae2cb18fa3bc3ada63dcb6698da56ba580e4aa27a0d5c4a1cc312ae27f7f0c1c1a2afaaf26f268520a3883 - JWT_REFRESH_SECRET=4e1c002c146097d359ddaa1981e4c90b017baf745c0cda2b0f088398c69223e59e545333bb0ba722084efb429fbf46e70c23d484cc29419d7f2e43e86223c38a # Generate with: openssl rand -hex 16 - SETTINGS_ENCRYPTION_KEY=0858a7eca8008302ac47b9328934240c - INSECURE_COOKIES=true # CORS origin - set to your server's URL for external access - CORS_ORIGIN=https://systems.casademm.de:3001 # Rate limiting - RATE_LIMIT_WINDOW=900000 # 15 minutes in milliseconds - RATE_LIMIT_MAX=1000 # Max requests per window # Optional: Discord notifications - DISCORD_ENABLED=true - DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1465337328401912022/tWhIgavQrxqEWa7BWlC-65-YoMO5OElHU-J82Yu7g_BXXZXZ2ivFCkzxp7O8zR9SSsjm # File upload limit - MAX_FILE_UPLOAD_SIZE=314572800 # 52428800 = 50MB in bytes (default) volumes: # Database persistence - hsm-database:/app/data/db # Game server files - hsm-servers:/app/servers # Backup storage - hsm-backups:/app/data/backups # Application logs - hsm-logs:/app/logs # SSL certificates (if using HTTPS) - hsm-certs:/app/data/certs # Hytale downloader tool - hsm-downloader:/app/data/hytale-downloader # Machine ID for system identification - /etc/machine-id:/etc/machine-id:ro healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: hsm-database: hsm-servers: hsm-backups: hsm-logs: hsm-certs: hsm-downloader: