62 lines
2.3 KiB
YAML
62 lines
2.3 KiB
YAML
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:
|