支持两种部署模式,兼容新建 MySQL 和现有 MySQL: - Dockerfile:Python 3.12-slim 两阶段构建,非 root 运行 - docker-compose.yml:全栈模式(含 MySQL 8.0 + 可选 Nginx) - docker-compose.external-db.yml:接入现有 MySQL 模式 - docker/entrypoint.sh:自动等待 DB 就绪 → 初始化表 → 启动 Gunicorn - docker/nginx.conf:反向代理 + 静态文件直出 + 安全响应头 - .env.docker.example / .env.external-db.example:各模式配置示例 - .gitattributes:确保 entrypoint.sh 在 Windows 上保持 LF 换行 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
45 lines
1.6 KiB
Plaintext
45 lines
1.6 KiB
Plaintext
# ── Python 缓存 ──────────────────────────────────────────────
|
|
__pycache__/
|
|
*.py[cod]
|
|
*.pyo
|
|
*.pyd
|
|
.Python
|
|
|
|
# ── 虚拟环境 ─────────────────────────────────────────────────
|
|
.venv/
|
|
venv/
|
|
env/
|
|
ENV/
|
|
|
|
# ── 环境变量(不打包进镜像!)────────────────────────────────
|
|
.env
|
|
.env.docker
|
|
.env.external-db
|
|
|
|
# ── 上传文件(挂载卷提供,不打包)───────────────────────────
|
|
app/static/uploads/
|
|
|
|
# ── 数据库迁移临时文件 ───────────────────────────────────────
|
|
migrations/
|
|
|
|
# ── 版本控制 ─────────────────────────────────────────────────
|
|
.git/
|
|
.gitignore
|
|
|
|
# ── IDE/编辑器 ───────────────────────────────────────────────
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ── 测试/文档 ────────────────────────────────────────────────
|
|
tests/
|
|
*.md
|
|
docs/
|
|
|
|
# ── 日志 ─────────────────────────────────────────────────────
|
|
*.log
|
|
logs/
|