first commit

This commit is contained in:
2026-04-17 13:23:50 +08:00
commit d985b56ac6
46 changed files with 8171 additions and 0 deletions

111
DEPLOY.md Normal file
View File

@@ -0,0 +1,111 @@
# CentOS 7 + Docker 部署说明
## 1. 准备代码
在服务器上任选一种方式拿到项目文件:
**方式 AGit**
```bash
cd /opt
sudo git clone <你的仓库地址> resume-app
cd resume-app
```
**方式 B本机打包上传**
在本机项目根目录打包(不要打进 `node_modules``.env`
```bash
tar czvf resume-app.tar.gz --exclude=node_modules --exclude=.git .
```
上传到服务器后:
```bash
mkdir -p /opt/resume-app && cd /opt/resume-app
tar xzvf ~/resume-app.tar.gz
```
## 2. 环境变量
```bash
cd /opt/resume-app
cp .env.example .env
vi .env
```
按说明填写 `DEEPSEEK_API_KEY``MYSQL_*` 等。**不要将 `.env` 提交到 Git。**
## 3. 构建并启动Docker Compose
CentOS 7 上若安装的是旧版 `docker-compose`,命令可能是 `docker-compose`(带连字符):
```bash
cd /opt/resume-app
docker compose build
docker compose up -d
```
若提示 `docker compose` 不存在,可试:
```bash
docker-compose build
docker-compose up -d
```
查看日志:
```bash
docker compose logs -f
# 或
docker-compose logs -f
```
浏览器访问:`http://服务器IP:3000`
## 4. 防火墙CentOS 7
```bash
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
```
云厂商安全组里也要放行 **3000**(或你改的端口)。
## 5. 修改对外端口(可选)
编辑 `docker-compose.yml` 中端口映射,例如改为宿主机 8080
```yaml
ports:
- "8080:3000"
```
容器内仍监听 `PORT=3000`,映射左边为宿主机端口。
## 6. 更新版本
```bash
cd /opt/resume-app
git pull # 若使用 Git
docker compose build --no-cache
docker compose up -d
```
## 7. 生产环境建议
- 前面加 **Nginx** 反向代理,配置 HTTPSLets Encrypt 等)。
- MySQL 若在同一内网,优先用内网地址,并限制来源 IP。
- 定期备份数据库;`.env` 权限:`chmod 600 .env`
## 8. 常见问题
**镜像构建失败canvas 等原生模块)**
`Dockerfile` 中取消注释安装 `python3 make g++` 的那一行后重新 `build`
**容器内连不上 MySQL**
确认 `MYSQL_HOST` 对容器可达:若 MySQL 在宿主机上,不要用 `127.0.0.1`,应使用宿主机在 Docker 网桥上的地址,或将 MySQL 也容器化并用同一 network最简单是将 MySQL 放在另一台机器或云 RDS填公网/内网 IP。
**CentOS 7 已 EOL**
长期建议升级到 Rocky Linux 8/9 或 AlmaLinux 8/9再装 Docker。