serene-pub/docker-compose.dev.yml
2026-08-18 04:05:50 -07:00

58 lines
2.6 KiB
YAML

services:
serene-pub:
build: .
restart: unless-stopped
ports:
- "3000:3000" # Web UI
- "3001:3001" # WebSocket server
volumes:
- serene-pub-dev-data:/data
environment:
# Data directory inside the container (matches the volume mount above)
SERENE_PUB_DATA_DIR: /data
# HTTP port the web UI listens on (must match the left side of the ports mapping)
PORT: 3000
# WebSocket server port (must match the left side of the ports mapping)
SOCKETS_PORT: 3001
# Disable automatic browser launch (always disabled in containers)
SERENE_AUTO_OPEN: 1
# Socket origins are allowed automatically when they match the
# hostname a request actually arrived on, which covers every normal
# Docker setup — localhost, a LAN IP, or a custom domain — with no
# configuration at all. This used to be set to "*", which switches
# the allowlist off entirely and also stops non-browser clients from
# being limited to the local network; combined with the default
# accounts-disabled mode, anything that could reach the port got an
# unauthenticated admin session. Uncomment ONLY if your page and
# your socket connection genuinely use different hostnames.
# SOCKETS_ALLOWED_ORIGINS: "*"
# --- Optional overrides ---
# Session token lifetime in hours (default: 168 = 7 days)
# USER_TOKEN_EXPIRATION_HOURS: 168
# Override the directory where AI model caches (transformers) are stored.
# Defaults to $SERENE_PUB_DATA_DIR/transformers-cache, already inside the volume.
# TRANSFORMERS_CACHE: /data/transformers-cache
# KoboldCPP managed-mode binary directory (only needed for managed KoboldCPP).
# Mount your KoboldCPP binary into the container and set this path.
# See DOCKER.md for details.
# KOBOLDCPP_BINARY_DIR: /koboldcpp
# Running behind a reverse proxy or tunnel? Declare the public URL
# and which addresses your proxy connects from; everything else
# (forwarded host/proto/client-IP handling, HTTPS detection, cookie
# flags, the socket URL) is derived from these two. Route
# /socket.io/ to SOCKETS_PORT and the socket endpoint needs no port
# of its own. See docs/hosting.md.
# PUBLIC_URL: https://serene.example.com
# TRUSTED_PROXIES: 172.16.0.0/12
volumes:
serene-pub-dev-data: