Files
SmyWorkCollect/README-Docker.md
2025-12-13 20:36:31 +08:00

4.0 KiB

树萌芽の作品集 - Docker 部署指南

📦 快速部署

前置要求

  • Docker 20.10+
  • Docker Compose 2.0+
  • 至少 2GB 可用内存
  • 至少 10GB 可用磁盘空间

一键部署

# 1. 克隆或下载项目到本地

# 2. 进入项目目录
cd 树萌芽の作品集

# 3. 构建并启动服务
docker-compose up -d --build

访问应用

部署成功后,通过浏览器访问: http://localhost:8383

📂 持久化目录说明

所有数据都持久化存储在 /shumengya/docker/smyworkcollect/data/ 目录下:

/shumengya/docker/smyworkcollect/data/
├── works/          # 作品数据(图片、视频、文件等)
├── config/         # 网站配置文件
└── logs/           # 应用/访问日志(可选)

Windows 环境

如果在 Windows 上部署,建议修改 docker-compose.yml 中的路径为:

volumes:
  - C:/shumengya/docker/smyworkcollect/data/works:/app/backend/works
  - C:/shumengya/docker/smyworkcollect/data/config:/app/SmyWorkCollect-Frontend/config
  - C:/shumengya/docker/smyworkcollect/data/logs:/var/log/nginx

Linux/Mac 环境

确保创建目录并设置正确权限:

sudo mkdir -p /shumengya/docker/smyworkcollect/data/{works,config,logs}
sudo chown -R 1000:1000 /shumengya/docker/smyworkcollect/data/

🔧 常用命令

启动服务

docker-compose up -d

停止服务

docker-compose down

查看日志

# 查看所有服务日志
docker-compose logs -f

# 只查看后端日志
docker-compose logs -f backend

# 只查看前端日志
docker-compose logs -f frontend

重启服务

docker-compose restart

重新构建并启动

docker-compose up -d --build

查看服务状态

docker-compose ps

进入容器

# 进入单容器
docker exec -it smywork-app sh

🔐 管理员配置

管理员 Token: shumengya520

访问管理面板: http://localhost:8383/#/admin?token=shumengya520

🎨 自定义配置

修改端口

编辑 docker-compose.yml 文件中的端口映射:

ports:
  - "你的端口:80"  # 例如: "8080:80"

修改管理员密码

编辑 SmyWorkCollect-Backend/app.py:

ADMIN_TOKEN = "你的新密码"

然后重新构建:

docker-compose up -d --build backend

修改网站配置

编辑持久化目录中的配置文件:

/shumengya/docker/smyworkcollect/data/config/settings.json

📊 资源限制(可选)

docker-compose.yml 中添加资源限制:

services:
  backend:
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 1G
        reservations:
          cpus: '0.5'
          memory: 512M

🔄 更新应用

# 1. 停止服务
docker-compose down

# 2. 拉取最新代码
git pull

# 3. 重新构建并启动
docker-compose up -d --build

🛠️ 故障排查

服务无法启动

# 查看详细日志
docker-compose logs

# 检查端口是否被占用
netstat -ano | findstr 8383  # Windows
lsof -i :8383                # Linux/Mac

权限问题

# Linux/Mac 下设置正确权限
sudo chown -R 1000:1000 /shumengya/docker/smyworkcollect/data/

清理并重新部署

# 停止并删除所有容器
docker-compose down

# 删除旧镜像(可选,镜像名以目录为准)
docker images | findstr smywork

# 重新构建
docker-compose up -d --build

📝 备份与恢复

备份数据

# 备份作品数据
tar -czf smywork-backup-$(date +%Y%m%d).tar.gz /shumengya/docker/smyworkcollect/data/

恢复数据

# 解压备份
tar -xzf smywork-backup-20231125.tar.gz -C /

🌐 生产环境建议

  1. 使用反向代理 (Nginx/Traefik) 并配置 HTTPS
  2. 定期备份 持久化数据
  3. 监控日志 并设置告警
  4. 资源限制 防止资源耗尽
  5. 安全加固 修改默认管理员密码

📞 支持


祝部署顺利! 🎉