Files
site-gateway/compose.release.yaml
T

54 lines
2.4 KiB
YAML

# Pulls the published multi-arch image instead of building from source.
# Copy .env.example to .env, set ADMIN_PASSWORD and SESSION_SECRET, then:
# docker compose -f compose.release.yaml pull
# docker compose -f compose.release.yaml up -d
services:
site-gateway:
image: ${SITE_GATEWAY_IMAGE:-ghcr.io/mfwadejr/site-gateway2:latest}
container_name: site-gateway
restart: unless-stopped
environment:
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?Set ADMIN_PASSWORD in .env}
SESSION_SECRET: ${SESSION_SECRET:?Set SESSION_SECRET in .env}
ADMIN_PORT: 8080
SITE_PORT_MIN: 9000
SITE_PORT_MAX: 9099
DATA_DIR: /data
BACKUP_PASSWORD: ${BACKUP_PASSWORD:-}
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
ACME_EMAIL: ${ACME_EMAIL:-}
# Optional: display-only Disk allowance for the resource panel. Set
# DATA_DIR_LIMIT_GB in .env to use.
DATA_DIR_LIMIT_GB: ${DATA_DIR_LIMIT_GB:-}
# Optional but recommended: without a memory/CPU limit, the Dashboard and
# Administration > System tab's live resource panel can only show usage
# against the whole host. Uncomment and set in .env to give CPU/Memory a
# real, container-scoped denominator (MEM_LIMIT, e.g. "2g"; CPU_LIMIT,
# e.g. "2"; or CPUSET, e.g. "0,1", to pin cores instead of a count).
# mem_limit: ${MEM_LIMIT}
# cpus: ${CPU_LIMIT}
# cpuset: ${CPUSET}
ports:
- "${HTTP_PORT:-80}:80"
- "${HTTPS_PORT:-443}:443"
- "${HTTPS_PORT:-443}:443/udp" # HTTP/3 (QUIC) — forward UDP 443 on your router/firewall too
- "8080:8080"
- "9000-9099:9000-9099"
# Streaming Hosts (optional): add one line per TCP/UDP port you forward
# from the dashboard, matching the target port you'll enter there.
# - "25565:25565"
# - "25565:25565/udp"
volumes:
- ${SITE_GATEWAY_DATA:-/DATA/AppData/site-gateway}:/data
# Optional: enables "Pick from running containers" for Proxy and Streaming
# host targets (Administration > Gateway defaults > Docker container selection).
# Read-only, but be deliberate: access to the Docker socket is effectively root
# on the host -- anything that can talk to it can start privileged containers and
# mount the host filesystem. Leave this commented out unless you want the feature.
# - /var/run/docker.sock:/var/run/docker.sock:ro
labels:
com.centurylinklabs.watchtower.enable: "true"