Creates a streamer container per player on flashpoint-web's request, sized to the game's applet, proxies its Selkies stream under /stream/<id>/, and removes it when the player disconnects. Saves under /config/saves are seeded from the browser at start and pushed back over server-sent events.
30 lines
876 B
YAML
30 lines
876 B
YAML
services:
|
|
session-manager:
|
|
build: session-manager
|
|
container_name: flashpoint-session-manager
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${STREAM_PORT:-8081}:8081"
|
|
volumes:
|
|
# Starts and removes streamer containers
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ${FLASHPOINT_HOST_PATH:?FLASHPOINT_HOST_PATH is required}:/flashpoint:ro
|
|
environment:
|
|
- FLASHPOINT_HOST_PATH
|
|
- API_TOKEN=${API_TOKEN:?API_TOKEN is required}
|
|
- MAX_SESSIONS=${MAX_SESSIONS:-4}
|
|
- PUID=${PUID:-1000}
|
|
- PGID=${PGID:-1000}
|
|
networks:
|
|
- flashpoint
|
|
- streams
|
|
|
|
networks:
|
|
# Shared with flashpoint-web, which calls the internal API on port 8080
|
|
flashpoint:
|
|
name: flashpoint
|
|
# Streamer containers: reachable only from the session manager, no internet access
|
|
streams:
|
|
name: flashpoint-streams
|
|
internal: true
|