mirror of
https://github.com/doolijb/serene-pub.git
synced 2026-08-27 17:52:08 +00:00
58 lines
2.6 KiB
YAML
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:
|