deploy: STORY_WEB_RELOAD=1 可选热重载 + gitsync整仓库挂/app——后端改动也push即生效,仅改依赖/环境变量需重建镜像
This commit is contained in:
@ -31,4 +31,7 @@ WORKDIR /app/web
|
|||||||
HEALTHCHECK --interval=30s --timeout=4s --start-period=8s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=4s --start-period=8s --retries=3 \
|
||||||
CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8787/',timeout=3).status==200 else 1)"
|
CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8787/',timeout=3).status==200 else 1)"
|
||||||
|
|
||||||
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8787"]
|
# STORY_WEB_RELOAD=1 时启用代码热重载(配合把 git 同步仓库整目录挂到 /app:
|
||||||
|
# 后端 app.py/db.py/ir_core 改动 push 后自动生效,无需重建镜像;仅改依赖/环境变量仍需重建)。
|
||||||
|
# 无该变量时与原行为一致(生产默认不开监视)。
|
||||||
|
CMD ["sh", "-c", "exec uvicorn app:app --host 0.0.0.0 --port 8787 ${STORY_WEB_RELOAD:+--reload --reload-dir /app}"]
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
# 极空间 Compose:story 事件编辑器 + 自动 git 同步。
|
# 极空间 Compose:story 事件编辑器 + 自动 git 同步。
|
||||||
# 效果:本机 push 到 Gitea 后,约 1 分钟内 NAS 自动拉取最新前端,浏览器刷新即生效。
|
# 效果:本机 push 到 Gitea 后,约 1 分钟内 NAS 自动拉取最新代码——
|
||||||
|
# 前端刷新浏览器即生效;后端(app.py/db.py/ir_core)由 uvicorn --reload 自动重启生效
|
||||||
|
# (整仓库挂到 /app + STORY_WEB_RELOAD=1)。仅改 requirements.txt/环境变量才需重建镜像。
|
||||||
#
|
#
|
||||||
# 用法:极空间 Docker →「Compose / 项目」→ 新建 → 粘贴本文件 → 改下面标 ← 的 2~3 处 → 部署。
|
# 用法:极空间 Docker →「Compose / 项目」→ 新建 → 粘贴本文件 → 改下面标 ← 的 2~3 处 → 部署。
|
||||||
# 首次部署前:先停止并删除原来的单容器 story-event-web(数据在 /data 目录,删容器不丢)。
|
# 首次部署前:先停止并删除原来的单容器 story-event-web(数据在 /data 目录,删容器不丢)。
|
||||||
@ -36,10 +38,14 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "8787:8787"
|
- "8787:8787"
|
||||||
environment:
|
environment:
|
||||||
STORY_WEB_PASSWORD: "change-me" # ← 改成你的共享口令
|
# ← 改成实际口令(每人一把,口令即身份;≥8位且互不相同)。
|
||||||
|
# 未配置/口令过短/重复时容器启动即退出(拒绝弱口令裸奔)。
|
||||||
|
STORY_WEB_USERS: "bia:把我改成口令A,ljl:把我改成口令B"
|
||||||
|
STORY_WEB_RELOAD: "1" # 配合下面整仓库挂载:后端改动 push 后自动重启生效
|
||||||
TZ: "Asia/Shanghai"
|
TZ: "Asia/Shanghai"
|
||||||
volumes:
|
volumes:
|
||||||
# ← 事件数据:填你原来单容器 /data 对应的 NAS 目录(务必填对,否则看不到旧数据)
|
# ← 事件数据:填你原来单容器 /data 对应的 NAS 目录(务必填对,否则看不到旧数据)
|
||||||
- "/SATA存储11/Docker/story-event-web/data:/data"
|
- "/SATA存储11/Docker/story-event-web/data:/data"
|
||||||
# 前端静态:直接取自同步器拉下来的仓库子目录(只读)。这条按上面的共享路径,一般不用改。
|
# 整个同步仓库盖在 /app(只读):web/ 前端+后端、ir_core、ir_dictionary.json 全部
|
||||||
- "/SATA存储11/Docker/story-edit-web-src/web/static:/app/web/static:ro"
|
# 来自 git 同步目录;镜像内的 COPY 副本只作无挂载时的兜底。路径按上面共享路径,一般不用改。
|
||||||
|
- "/SATA存储11/Docker/story-edit-web-src:/app:ro"
|
||||||
|
|||||||
Reference in New Issue
Block a user