88 lines
3.3 KiB
Bash
88 lines
3.3 KiB
Bash
# Public endpoint assigned to this stack. Caddy obtains TLS certificates for
|
|
# DOMAIN automatically when it terminates TLS itself.
|
|
DOMAIN=game.example.com
|
|
PUBLIC_SCHEME=https
|
|
ACME_EMAIL=admin@example.com
|
|
# Set http://DOMAIN when an external reverse proxy terminates TLS.
|
|
CADDY_SITE_ADDRESS=
|
|
HTTP_PORT=80
|
|
HTTPS_PORT=443
|
|
|
|
# Current local E2E ingress example (do not use dev-sam2026.hided.net here):
|
|
# DOMAIN=dev-sam-e2e.hided.net
|
|
# PUBLIC_SCHEME=https
|
|
# CADDY_SITE_ADDRESS=http://dev-sam-e2e.hided.net
|
|
# HTTP_PORT=14999
|
|
# HTTPS_PORT=15099
|
|
|
|
# Runtime hard limits. Keep swap equal to memory so the container cannot consume host swap.
|
|
RUNTIME_MEMORY_LIMIT=4g
|
|
RUNTIME_MEMORY_SWAP_LIMIT=4g
|
|
RUNTIME_CPU_LIMIT=4
|
|
RUNTIME_PIDS_LIMIT=256
|
|
# Bound Node/Rolldown build parallelism inside the runtime container.
|
|
RUNTIME_NODE_OPTIONS=--max-old-space-size=1536
|
|
# Optional turn-daemon-only heap. Raise the runtime memory hard limit first.
|
|
TURN_DAEMON_NODE_OPTIONS=--max-old-space-size=1536
|
|
RUNTIME_RAYON_NUM_THREADS=1
|
|
# Optional smoke-only limits used with compose.smoke.yaml (maximum supported defaults shown).
|
|
# SMOKE_RUNTIME_MEMORY_LIMIT=4g
|
|
# SMOKE_RUNTIME_MEMORY_SWAP_LIMIT=4g
|
|
# SMOKE_RUNTIME_CPU_LIMIT=4
|
|
# SMOKE_RUNTIME_PIDS_LIMIT=256
|
|
|
|
# Core2026 source. A public HTTPS URL needs no extra credential.
|
|
CORE_REPOSITORY_URL=https://github.com/your-org/core2026.git
|
|
CORE_BOOTSTRAP_REF=main
|
|
|
|
# Optional private repository authentication. Keep only one mode enabled.
|
|
# HTTPS mode uses a read-only token through GIT_ASKPASS and never embeds it in the URL.
|
|
CORE_REPOSITORY_USERNAME=
|
|
CORE_REPOSITORY_TOKEN=
|
|
# SSH mode accepts base64-encoded deploy key and known_hosts contents.
|
|
CORE_SSH_PRIVATE_KEY_BASE64=
|
|
CORE_SSH_KNOWN_HOSTS_BASE64=
|
|
|
|
# Development bind override (used only with compose.dev.yaml).
|
|
# CORE_DEV_PATH=../core2026
|
|
# DEV_UID=1000
|
|
# DEV_GID=1000
|
|
# DEV_RUNTIME_MEMORY_LIMIT=4g
|
|
# DEV_RUNTIME_MEMORY_SWAP_LIMIT=4g
|
|
# DEV_RUNTIME_CPU_LIMIT=4
|
|
# DEV_RUNTIME_PIDS_LIMIT=256
|
|
|
|
# Persistent services. Use long random values; do not commit .env.
|
|
POSTGRES_DB=sammo
|
|
POSTGRES_USER=sammo
|
|
POSTGRES_PASSWORD=replace-with-a-long-random-database-password
|
|
REDIS_PASSWORD=replace-with-a-long-random-redis-password
|
|
GAME_TOKEN_SECRET=replace-with-at-least-32-random-bytes
|
|
GATEWAY_BOOTSTRAP_TOKEN=replace-with-a-separate-random-bootstrap-token
|
|
|
|
# The first startup creates this superuser only when the user table is empty.
|
|
INITIAL_ADMIN_USERNAME=admin
|
|
INITIAL_ADMIN_PASSWORD=replace-with-a-long-random-admin-password
|
|
INITIAL_ADMIN_DISPLAY_NAME=Administrator
|
|
|
|
# Kakao Developers app values. Register https://DOMAIN/gateway/oauth/callback.
|
|
KAKAO_REST_KEY=replace-with-kakao-rest-api-key
|
|
KAKAO_ADMIN_KEY=
|
|
|
|
# Account policy and optional compatibility secret.
|
|
GATEWAY_LOCAL_REGISTRATION_ENABLED=true
|
|
GATEWAY_ADMIN_LOCAL_ACCOUNT_ENABLED=true
|
|
GATEWAY_LOCAL_ACCOUNT_GRACE_DAYS=7
|
|
GATEWAY_LEGACY_PASSWORD_GLOBAL_SALT=
|
|
|
|
# Shared image service. The two secret files must contain the values configured
|
|
# for the core2026 caller on the image server and must not be committed.
|
|
IMAGE_SERVICE_URL=https://sam-image.hided.net
|
|
IMAGE_PUBLIC_URL=https://sam-image.hided.net
|
|
IMAGE_UPLOAD_CORE2026_SECRET_FILE=./secrets/image_upload_core2026_secret
|
|
IMAGE_SYNC_CORE2026_SECRET_FILE=./secrets/image_sync_core2026_secret
|
|
|
|
# Initial stopped profile inventory. Each deployment can choose its own branch in the Admin GUI.
|
|
BOOTSTRAP_PROFILES=gateway,che,kwe,pwe,twe,nya,pya,hwe
|
|
TZ=Asia/Seoul
|