name: pigway-frame-flow services: pigway-frame-flow: image: pigway-frame-flow:latest container_name: pigway-frame-flow platform: linux/amd64 build: context: . args: ALPINE_MIRROR: ${ALPINE_MIRROR:-dl-cdn.alpinelinux.org} DOCKER_PIP_INDEX_URL: ${DOCKER_PIP_INDEX_URL:-https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple} DOCKER_PIP_FALLBACK_INDEX_URL: ${DOCKER_PIP_FALLBACK_INDEX_URL:-https://pypi.org/simple} BUILD_COMMIT: ${BUILD_COMMIT:-development} BUILD_TIME: ${BUILD_TIME:-unknown} restart: unless-stopped init: true user: "10333:10333" ports: - "${WEB_BIND:-127.0.0.1}:${WEB_PORT:-6005}:18787" env_file: .env environment: TZ: Asia/Shanghai DATA_DIR: /data CONFIG_DIR: /config FRAME_FLOW_STORAGE_NAME: ${FRAME_FLOW_STORAGE_NAME:-NAS} volumes: - ./data:/data - ./config:/config read_only: true tmpfs: - /tmp:size=64m,mode=1777 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/health',timeout=3)"] interval: 30s timeout: 5s start_period: 20s retries: 3 logging: driver: json-file options: max-size: "10m" max-file: "3"