# 自托管示例:docker compose up -d # 默认使用发布镜像;想从源码构建时改用 `docker compose up -d --build`(走同目录 Dockerfile)。 services: server: image: ghcr.io/sky1wu/bili-syncplay-server:latest build: . restart: unless-stopped # 服务端收到 SIGTERM 后会断开 WebSocket 连接、等待会话清理与事件冲刷,再释放 # Redis 上的运行时状态;忙节点最坏约 135s(各步骤超时上限之和),进程看门狗 # 150s 兜底。Docker 默认宽限期只有 10s,会在清理中途 SIGKILL(退出码 137), # 因此这里放到 160s——正常关闭在 1s 内完成,宽限期只是上限,不会拖慢停机。 stop_grace_period: 160s ports: - "8787:8787" environment: # 必填:允许连接的扩展 origin,多个用逗号分隔。 # Chrome/Edge 固定为扩展 ID;Firefox 的 moz-extension UUID 见 README“Quick Start”。 ALLOWED_ORIGINS: "chrome-extension://lbmckljnginagfabglpfdepofoglfdkj" # 需要重启后保留房间状态时启用 Redis(两个变量都要设;只设 REDIS_URL # 时仍是内存存储)。多节点部署所需的完整 provider 变量集见 # docs/runbook/multi-node-operations.zh-CN.md: # ROOM_STORE_PROVIDER: "redis" # REDIS_URL: "redis://redis:6379" # 管理面板(可选): # ADMIN_USERNAME: "admin" # ADMIN_PASSWORD_HASH: "sha256:" # ADMIN_SESSION_SECRET: "" # 可选的 Redis 依赖,启用时取消注释并同时设置上面的 # ROOM_STORE_PROVIDER + REDIS_URL。 # redis: # image: redis:7-alpine # restart: unless-stopped # volumes: # - redis-data:/data # volumes: # redis-data: