mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 20:01:57 +00:00
6af4e396b9
- 服务端可以托管前端构建产物(AGENTLAB_WEB_DIST):页面路由回退到 index.html,/api 下不存在的路径照旧是 JSON 404, 挡住路径穿越;index.html 不缓存,assets/ 带哈希的文件长缓存;没设时行为完全不变 - scripts/prod.sh:不用 Docker 的生产运行。按需构建前端,单进程、不热重载,默认只听本机,--host 开放到局域网并提示没有登录 - Dockerfile(多阶段构建,Linux 镜像):前端在构建机架构上构建,运行阶段用 python:3.12-slim,依赖装进独立的 venv, 以非 root 用户(uid 10001)运行,数据在 /data,带健康检查;.dockerignore 排除 .env、data/、各种库文件,镜像里实测没有密钥和数据库 - scripts/package-docker.sh:构建指定平台的镜像(默认按本机架构,可选 linux/amd64),打成 release/agentlab-<版本>-linux-<架构>.tar,里面有 image.tar、deploy.sh、agentlab.env、README.md、SHA256SUMS - deploy/deploy.sh:目标机上只依赖 Docker,离线可用。install / start / stop / restart / status / logs / upgrade / uninstall; 检查架构和配置,自动导入镜像,替换容器时保留旧容器以便回退,数据永远保留,日志轮转 - 修正 bubblewrap 的可用性判断:以前只看有没有装 bwrap,容器里和 Ubuntu 24.04 默认配置下装了却建不了命名空间, 每次执行代码都失败;现在真起一次试,不能用就退回下一个后端,并写明原因 - README 增加「生产部署」一节,部署细节见 deploy/README.md
43 lines
684 B
Plaintext
43 lines
684 B
Plaintext
# 构建上下文里只该有源码。这个文件的头等任务:绝不能把 .env(密钥)和 data/(开发库)打进镜像。
|
|
# Dockerfile 也只按需 COPY 具体目录,两道都守着。
|
|
|
|
# 密钥与运行期数据
|
|
.env
|
|
.env.*
|
|
**/.env
|
|
**/.env.*
|
|
data/
|
|
**/data/*.db
|
|
**/*.db
|
|
**/*.db-*
|
|
**/*.sqlite
|
|
**/*.sqlite3
|
|
**/.secret_key
|
|
|
|
# 版本库、依赖、构建产物、缓存
|
|
.git
|
|
.gitignore
|
|
**/node_modules
|
|
frontend/dist
|
|
**/__pycache__
|
|
**/*.py[cod]
|
|
backend/.venv
|
|
**/.venv
|
|
**/.pytest_cache
|
|
**/.ruff_cache
|
|
**/*.tsbuildinfo
|
|
**/.vite
|
|
**/.vite-*
|
|
|
|
# 打包产物和不进镜像的东西
|
|
release/
|
|
docs/
|
|
scripts/
|
|
deploy/
|
|
backend/tests/
|
|
.claude/
|
|
.DS_Store
|
|
**/.DS_Store
|
|
.idea/
|
|
.vscode/
|