# Phase 0 单 service:FastAPI 启动后既跑 API 又托管前端 dist。 # 见 ADR-17 / §8.1。 services: app: build: context: . dockerfile: Dockerfile args: BACKEND_EXTRAS: ${BACKEND_EXTRAS:-} container_name: TickFlow_Stock_Panel ports: - "${PORT:-3018}:3018" env_file: - .env environment: # 强制固定为容器内绝对路径, 防止 .env 里的 DATA_DIR=./data(开发模式用) # 被 env_file 原样传入容器后按错误的相对路径解析, 写到未挂载卷的目录, # 导致每次 up --build 重建容器都丢数据。environment 优先级高于 env_file, # 无论 .env 怎么写这里都以容器路径为准。 - DATA_DIR=/app/data volumes: - ./data:/app/data - ./tiers.yaml:/app/tiers.yaml:ro restart: unless-stopped