Skip to content

Docker 生产部署指南

本文档提供基于 Docker 的生产环境详细部署说明。CatWiki 采用容器化部署,通过 Nginx 实现反向代理与 HTTPS 安全接入。

📋 前置要求

  • 服务器: Linux 服务器(推荐 Ubuntu 22.04+)
  • 软件: Docker >= 20.10, Docker Compose >= 2.0, Make
  • 域名: 建议准备 3-4 个二级域名分别指向各服务

🏗️ 生产架构

🚀 部署流程

1. 初始化环境

bash
git clone https://github.com/bulolo/CatWiki.git
cd catWiki

# 生成生产环境配置模板
make prod-init

2. 修改生产配置 (⚠️ 关键)

进入 deploy/docker/ 目录,编辑生成的 .env 文件。

核心配置 (.env)

配置项说明建议
POSTGRES_PASSWORD数据库密码务必修改
SECRET_KEYJWT 签名密钥务必修改 (至少 32 位随机字符)
RUSTFS_ROOT_PASSWORD对象存储超级密码务必修改
`BACKEND_CORS_ORIGINS=["https://admin.catwiki.cn","https://catwiki.cn","https://docs.catwiki.cn","https://catwiki.ai"]
RUSTFS_PUBLIC_URL文件对外访问链接指向您的 OSS 域名 (如 https://files.catwiki.cn)

前端配置

前端环境变量直接在 docker-compose.ymlenvironment 块中定义,不再使用 .env 文件。

3. 一键启动

bash
# 启动所有生产容器(后台运行)
make prod-up

NOTE

make prod-up 正会自动触发 backend-init 容器执行数据库迁移与基础数据注入。


🛠️ 生产维护命令 (CLI Reference)

命令说明
make prod-up启动服务:构建并以后台模式拉起生产全栈
make prod-rebuild无损重建:不使用缓存强制重新构建并拉起
make prod-down停止服务:停止并移除容器(数据持久化在 Volume 中)
make prod-restart快重重启:仅重启后端后端容器
make prod-logs查看日志:实时聚合查看所有生产容器日志
make prod-clean🚨 危险:彻底重置:删除容器及所有持久化数据

🛡️ 安全与备份

默认账户

部署完成后,请使用初始账号登录并立即修改密码:

自动备份脚本建议

建议通过 crontab 定期执行以下备份逻辑:

bash
# 数据库备份示例
docker exec catwiki-postgres pg_dump -U postgres catwiki > backup.sql