Files
tick-stock-panel/docker-compose.yml
T
shy3130 8efc96d576 fix(docker): Codex CLI 挂载路径可覆盖 + 版本号单点维护
- docker-compose: ${HOME}/.codex 改为 ${CODEX_HOME_HOST:-${HOME}/.codex},
  修复 Windows PowerShell/CMD 下 HOME 未设置导致挂载失败
- Dockerfile: codex-builder 阶段 ARG CODEX_CLI_VERSION 去掉重复默认值,
  统一从顶层 ARG 继承(0.144.3 现仅出现一处)
- README: 补充 Windows 用户 CODEX_HOME_HOST 配置说明
2026-07-14 18:12:48 +08:00

33 lines
1.3 KiB
YAML

# Phase 0 单 service:FastAPI 启动后既跑 API 又托管前端 dist。
# 见 ADR-17 / §8.1。
services:
app:
build:
context: .
dockerfile: Dockerfile
args:
BACKEND_EXTRAS: ${BACKEND_EXTRAS:-}
CODEX_CLI_VERSION: ${CODEX_CLI_VERSION:-0.144.3}
container_name: TickFlow_Stock_Panel
ports:
- "${PORT:-3018}:3018"
extra_hosts:
- "host.docker.internal:host-gateway"
env_file:
- .env
environment:
# 强制固定为容器内绝对路径, 防止 .env 里的 DATA_DIR=./data(开发模式用)
# 被 env_file 原样传入容器后按错误的相对路径解析, 写到未挂载卷的目录,
# 导致每次 up --build 重建容器都丢数据。environment 优先级高于 env_file,
# 无论 .env 怎么写这里都以容器路径为准。
- DATA_DIR=/app/data
# 将主机 Codex Desktop 的 loopback local-access 端点映射到 Docker host gateway。
- CODEX_DOCKER_HOST=host.docker.internal
volumes:
- ./data:/app/data
- ./tiers.yaml:/app/tiers.yaml:ro
# 复用主机 Codex 登录态;后端只读后复制到单次请求的临时 CODEX_HOME。
# Windows PowerShell/CMD 下 HOME 常未设置, 可通过 .env 里 CODEX_HOME_HOST 覆盖。
- ${CODEX_HOME_HOST:-${HOME}/.codex}:/root/.codex:ro
restart: unless-stopped