100 lines
2.6 KiB
Plaintext
100 lines
2.6 KiB
Plaintext
# =============================================================================
|
|
# HexaHost GameCloud — Environment Configuration
|
|
# Copy to .env and adjust for your environment. Never commit .env to version control.
|
|
# =============================================================================
|
|
|
|
# --- Application ---
|
|
APP_NAME=HexaHost GameCloud
|
|
APP_ENV=development
|
|
APP_URL=http://localhost:3000
|
|
API_URL=http://localhost:3001
|
|
TRUSTED_PROXY_COUNT=0
|
|
|
|
# --- Security ---
|
|
SESSION_SECRET=dev-only-change-me-use-openssl-rand-base64-32-chars-min
|
|
ENCRYPTION_KEY=dev-only-change-me-use-openssl-rand-base64-32-chars-min
|
|
|
|
# --- Database ---
|
|
DATABASE_URL=postgresql://gamecloud:gamecloud@localhost:5432/gamecloud
|
|
POSTGRES_USER=gamecloud
|
|
POSTGRES_PASSWORD=gamecloud
|
|
POSTGRES_DB=gamecloud
|
|
POSTGRES_PORT=5432
|
|
|
|
# --- Redis ---
|
|
REDIS_URL=redis://localhost:6379
|
|
REDIS_PORT=6379
|
|
|
|
# --- SMTP (Mailpit in development) ---
|
|
SMTP_HOST=localhost
|
|
SMTP_PORT=1025
|
|
SMTP_USER=
|
|
SMTP_PASSWORD=
|
|
SMTP_FROM=noreply@localhost
|
|
SMTP_TLS=false
|
|
MAILPIT_UI_PORT=8025
|
|
|
|
# --- S3 / Object Storage (MinIO in development) ---
|
|
S3_ENDPOINT=http://localhost:9000
|
|
S3_REGION=us-east-1
|
|
S3_BUCKET=gamecloud
|
|
S3_ACCESS_KEY=minioadmin
|
|
S3_SECRET_KEY=minioadmin
|
|
S3_FORCE_PATH_STYLE=true
|
|
MINIO_API_PORT=9000
|
|
MINIO_CONSOLE_PORT=9001
|
|
|
|
# --- Reverse Proxy / DNS ---
|
|
TRAEFIK_NETWORK=traefik-network
|
|
GAME_BASE_DOMAIN=play.example.net
|
|
DNS_PROVIDER=rfc2136
|
|
RFC2136_SERVER=
|
|
RFC2136_KEY_NAME=
|
|
RFC2136_KEY_SECRET=
|
|
|
|
# --- Node Agent (local dev) ---
|
|
NODE_CA_CERT=
|
|
NODE_CA_KEY=
|
|
NODE_ID=00000000-0000-4000-8000-000000000001
|
|
NODE_TOKEN=local-dev-enrollment-token-change-me-32chars
|
|
NODE_AGENT_PUBLIC_URL=ws://localhost:3001/api/v1/nodes/ws
|
|
NODE_HEARTBEAT_TIMEOUT=30s
|
|
NODE_AGENT_HEALTH_ADDR=:9100
|
|
NODE_HEARTBEAT_INTERVAL=10s
|
|
NODE_DATA_DIR=./data/nodes
|
|
NODE_TLS_CERT=
|
|
NODE_TLS_KEY=
|
|
NODE_TLS_SKIP_VERIFY=true
|
|
|
|
# --- Edge Gateway (Phase 8) ---
|
|
EDGE_GATEWAY_ENABLED=false
|
|
EDGE_LISTEN_ADDR=:25565
|
|
EDGE_LISTEN_PORT=25565
|
|
EDGE_PUBLIC_HOST=127.0.0.1
|
|
EDGE_INTERNAL_API_KEY=local-dev-edge-key-change-me-32chars
|
|
EDGE_START_WAIT_SECONDS=180
|
|
EDGE_POLL_INTERVAL_MS=2000
|
|
|
|
# --- Catalog Providers ---
|
|
MODRINTH_USER_AGENT=HexaHostGameCloud/0.1.0 (contact@example.net)
|
|
CURSEFORGE_API_KEY=
|
|
|
|
# --- Billing ---
|
|
# internal = credit wallet (dev) | whmcs = production (recommended) | stripe = optional fallback
|
|
BILLING_PROVIDER=internal
|
|
STRIPE_SECRET_KEY=
|
|
STRIPE_WEBHOOK_SECRET=
|
|
|
|
# --- Observability ---
|
|
OTEL_EXPORTER_OTLP_ENDPOINT=
|
|
LOG_LEVEL=info
|
|
|
|
# --- Service Ports (development) ---
|
|
API_PORT=3001
|
|
WEB_PORT=3000
|
|
|
|
# --- WHMCS Integration (optional) ---
|
|
WHMCS_INTEGRATION_ID=local-dev-whmcs
|
|
WHMCS_API_SECRET=local-dev-whmcs-api-secret-32chars-minimum
|
|
WHMCS_WEBHOOK_SECRET=
|