2026-10-16 22:31:13 +08:00
|
|
|
# Candidate only. Never start alongside a live-writing NAS instance.
|
|
|
|
|
name: pigway-frame-flow
|
|
|
|
|
services:
|
|
|
|
|
pigway-frame-flow:
|
|
|
|
|
image: ${FRAME_FLOW_IMAGE:?Set the verified immutable image reference}
|
|
|
|
|
container_name: pigway-frame-flow
|
|
|
|
|
platform: linux/amd64
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
init: true
|
|
|
|
|
user: "10333:10333"
|
|
|
|
|
ports:
|
2026-10-18 16:14:56 +08:00
|
|
|
- "${FRAME_FLOW_BIND:-127.0.0.1}:81:18787"
|
|
|
|
|
env_file: ${FRAME_FLOW_ENV_FILE:?Set the private environment file path}
|
2026-10-16 22:31:13 +08:00
|
|
|
environment:
|
|
|
|
|
TZ: Asia/Shanghai
|
|
|
|
|
DATA_DIR: /data
|
|
|
|
|
CONFIG_DIR: /config
|
|
|
|
|
FRAME_FLOW_STORAGE_NAME: Ubuntu Server
|
|
|
|
|
SYNOLOGY_PHOTOS_CACHE_BYTES: ${SYNOLOGY_PHOTOS_CACHE_BYTES:-268435456}
|
|
|
|
|
# Migration starts read-only. Activation is a separate authorized action.
|
|
|
|
|
KOKONNA_WRITE_ENABLED: "false"
|
|
|
|
|
PYTHONDONTWRITEBYTECODE: "1"
|
|
|
|
|
TMPDIR: /data/tmp
|
|
|
|
|
volumes:
|
|
|
|
|
- type: bind
|
2026-10-18 16:14:56 +08:00
|
|
|
source: ${FRAME_FLOW_APP_DIR:?Set the existing application directory}/data
|
2026-10-16 22:31:13 +08:00
|
|
|
target: /data
|
|
|
|
|
bind:
|
|
|
|
|
create_host_path: false
|
|
|
|
|
- type: bind
|
2026-10-18 16:14:56 +08:00
|
|
|
source: ${FRAME_FLOW_APP_DIR:?Set the existing application directory}/config
|
2026-10-16 22:31:13 +08:00
|
|
|
target: /config
|
|
|
|
|
bind:
|
|
|
|
|
create_host_path: false
|
|
|
|
|
read_only: true
|
|
|
|
|
cap_drop: [ALL]
|
|
|
|
|
security_opt: [no-new-privileges:true]
|
|
|
|
|
pids_limit: 100
|
|
|
|
|
mem_limit: 768m
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: [CMD, python, -c, "import urllib.request; urllib.request.urlopen('http://127.0.0.1:18787/ready',timeout=3)"]
|
|
|
|
|
interval: 30s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
start_period: 20s
|
|
|
|
|
retries: 3
|
|
|
|
|
# Docker data-root and container logs must reside on the T7 too.
|
|
|
|
|
logging:
|
|
|
|
|
driver: json-file
|
|
|
|
|
options:
|
|
|
|
|
max-size: 10m
|
|
|
|
|
max-file: "3"
|