Files

79 lines
3.5 KiB
YAML

services:
site-gateway:
build: .
container_name: site-gateway
restart: unless-stopped
environment:
# Bootstrap dashboard credentials. Required — change the password before
# starting the container. These become the initial Administrator account;
# first-time setup will ask you to confirm or replace them.
ADMIN_USERNAME: admin
ADMIN_PASSWORD: change-this-password
# Optional: set a long random string to keep login sessions valid across
# container rebuilds. If omitted, one is derived from the admin
# username/password above. Rotating this signs everyone out.
# SESSION_SECRET: ""
# Dashboard port inside the container. Change the left side of the
# matching entry under `ports:` below if you remap it.
ADMIN_PORT: 8080
# Direct-LAN port range Hosted Sites can bind to. Keep this in sync with
# the "9000-9099:9000-9099" line under `ports:` below — Docker can't add
# a host port to an already-running container, so widen both together
# before starting the container if you need a different range.
SITE_PORT_MIN: 9000
SITE_PORT_MAX: 9099
# Where persistent state lives inside the container. Leave this as
# /data and change the host side of the volume mount instead.
DATA_DIR: /data
# Optional: encryption password for scheduled Complete/Configuration
# backups. Leave empty to store backups unencrypted (not recommended,
# since Complete backups include certificate private keys).
BACKUP_PASSWORD: ""
# User/group the container writes persistent files as. Defaults suit a
# typical Linux host; Unraid commonly uses PUID=99, PGID=100.
PUID: 1000
PGID: 1000
# Optional: certificate account email, passed to Caddy's ACME client.
ACME_EMAIL: ""
# Optional: display-only Disk allowance for the resource panel (e.g. a
# smaller dedicated share) -- usage/free space still come from the real
# volume, this just gives the panel a number to measure against.
# DATA_DIR_LIMIT_GB: 30
# 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, which is rarely meaningful on a shared machine.
# Setting these gives CPU/Memory a real, container-scoped denominator.
# mem_limit: 2g
# cpus: "2"
# Pinning specific cores is also supported instead of (or alongside) a
# count -- the resource panel reads whichever one Docker actually applied.
# cpuset: "0,1"
ports:
- "80:80"
- "443:443"
- "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.
# Example for a Minecraft server:
# - "25565:25565"
# - "25565:25565/udp"
volumes:
- ./data:/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