43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
# 部门关键任务追踪看板 · 部署编排
|
||
#
|
||
# 常用命令(推荐用封装脚本,会顺带检查 docker/.env/data 目录并等健康检查):
|
||
# ./deploy.sh up 构建 + 后台启动
|
||
# ./deploy.sh update 改完代码重建并替换容器
|
||
# ./deploy.sh logs # 看日志
|
||
# ./deploy.sh down # 停止(数据留在 ./data)
|
||
#
|
||
# 等价的裸 compose 命令:docker compose up -d --build
|
||
|
||
services:
|
||
board:
|
||
build:
|
||
context: .
|
||
args:
|
||
# 基础镜像仓库前缀 + pip 源,都由 deploy.sh 探测后写进 .env(也可手工在 .env 里钉死)
|
||
BASE_IMAGE: "${BASE_IMAGE:-python:3.12-slim}"
|
||
PIP_INDEX_URL: "${PIP_INDEX_URL:-https://pypi.tuna.tsinghua.edu.cn/simple}"
|
||
image: unis-board:latest
|
||
container_name: unis-board
|
||
restart: unless-stopped
|
||
|
||
# AI 整理参数、管理员账号等都来自 .env(compose 会自动读同目录的 .env 做变量替换)
|
||
env_file: .env
|
||
|
||
environment:
|
||
# 容器内端口固定 8770,跟 EXPOSE/健康检查对齐;要换对外端口请改 HOST_PORT
|
||
PORT: "8770"
|
||
# 容器里不开热加载(uvicorn --reload 会白耗 CPU,且代码在镜像内不可改)
|
||
DEV: "0"
|
||
# 覆盖宿主机的 TZ:周期/周次/入库时间都按这个时区计算
|
||
TZ: "${TZ:-Asia/Shanghai}"
|
||
|
||
ports:
|
||
- "${HOST_PORT:-8770}:8770"
|
||
|
||
volumes:
|
||
# SQLite 库、上传件、导出件都落在宿主机的 ./data,升级镜像不动数据
|
||
- ./data:/app/data
|
||
|
||
# Linux 上想让容器以普通用户跑(配合 ./data 的属主):
|
||
# user: "1000:1000"
|