# akg-factor-bridge:独立部署单元,可落在任意能同时连通「基座PG/153/平台MySQL」的服务器。 # 容器常驻并提供计划 API(uvicorn :8300,见 api.py,07-30);构建/出计划仍由宿主 # cron 以 docker exec 触发。将来接 XXL-JOB / 事件回调,触发器打这层 API 即可。 services: akg-factor-bridge: build: . container_name: akg_factor_bridge env_file: .env restart: unless-stopped # uvicorn 起不来时(如镜像未重建、缺 fastapi)退回 sleep——保住 cron 的 docker exec command: sh -c "uvicorn api:app --host 0.0.0.0 --port 8300 || sleep infinity" ports: - "${BRIDGE_API_PORT:-8300}:8300" volumes: - .:/app # 代码卷挂载:改码即生效,不用重构镜像(开发期)。冻结成 prod 镜像时删此行并 --build。 # 跨机部署(默认):.env 三处用 LAN IP,默认 bridge 网络出网到 LAN 即可。 # 与 astock-kg 同机同网时,改用服务名连基座 PG——取消下面两行注释并填网络名: # networks: [default, akg_net] # 触发示例(宿主 crontab,每日 18:40): # 40 18 * * 1-5 docker exec akg_factor_bridge python run.py build all --mode daily # 同机同网方案才需要:把 astock-kg 的 compose 网络作为 external 引入 # networks: # akg_net: # external: true # name: