services: wild-work: build: . container_name: wild-work restart: unless-stopped environment: - TZ=Asia/Shanghai - GOMEMLIMIT=2400MiB - GOGC=50 mem_limit: 2800m ports: # 容器内监听 0.0.0.0:7863;宿主机仅绑定回环,公网请走反代(见 README) - "127.0.0.1:7863:7863" volumes: - ./auths:/app/auths - ./data:/app/data # 单文件 bind 会让 config.json.tmp → rename 报 device or resource busy。 # 仍挂这一份给启动读取;面板保存会改写 data/config.json 并尽力回写这里。 - ./config.json:/app/config.json # PostgreSQL 存储模式(storage.mode=postgres)。 # 默认不启动:docker compose --profile postgres up -d # 启用后把 data/config.json 的 storage.postgres_dsn 指到 # postgres://wildwork:wildwork@postgres:5432/wildwork?sslmode=disable # 历史数据先跑一次 cmd/reqlog-import(见 README「PostgreSQL 存储模式」)。 postgres: image: postgres:16-alpine container_name: wild-work-postgres restart: unless-stopped profiles: ["postgres"] environment: - POSTGRES_USER=wildwork - POSTGRES_PASSWORD=wildwork - POSTGRES_DB=wildwork - TZ=Asia/Shanghai volumes: - ./data/pg:/var/lib/postgresql/data ports: - "127.0.0.1:5433:5432"