跳到主要内容

闲鱼管理系统 Docker 部署新手手册

本文适合第一次在 Linux 服务器上部署本项目的用户。项目地址:

https://github.com/GuDong2003/xianyu-auto-reply-fix

1. 服务器要求

推荐配置:

  • 系统:Ubuntu 20.04/22.04/24.04 或 Debian 11/12
  • CPU:2 核及以上
  • 内存:2GB 及以上,推荐 4GB
  • 硬盘:至少 10GB 可用空间
  • 需要开放端口:9000

项目 Docker 部署后默认访问地址:

http://服务器IP:9000

默认账号:

用户名:admin
密码:admin123

首次登录后请立即修改默认密码。

2. 登录服务器

在你自己的电脑终端中执行:

ssh root@你的服务器IP

如果不是 root 用户,请使用你的实际用户名:

ssh 用户名@你的服务器IP

3. 安装基础工具

Ubuntu/Debian 执行:

sudo apt update
sudo apt install -y git curl ca-certificates

4. 安装 Docker

推荐使用 Docker 官方安装脚本:

curl -fsSL https://get.docker.com | sudo sh

安装完成后检查版本:

docker --version
docker compose version

如果你不是 root 用户,建议把当前用户加入 Docker 用户组:

sudo usermod -aG docker $USER

然后退出 SSH,重新登录服务器。

5. 下载项目源码

cd /opt
sudo git clone https://github.com/GuDong2003/xianyu-auto-reply-fix.git
sudo chown -R $USER:$USER xianyu-auto-reply-fix
cd xianyu-auto-reply-fix

如果你使用 root 用户登录,也可以直接:

cd /opt
git clone https://github.com/GuDong2003/xianyu-auto-reply-fix.git
cd xianyu-auto-reply-fix

6. 创建运行目录

项目会把数据库、日志和备份文件保存到本地目录,避免容器删除后数据丢失。

mkdir -p data logs backups static/uploads/images

7. 修改默认密码和密钥

建议先创建 .env 文���,用来覆盖默认账号密码和密钥:

nano .env

写入以下内容,把密码和密钥改成你自己的:

ADMIN_USERNAME=admin
ADMIN_PASSWORD=请改成强密码
JWT_SECRET_KEY=请改成一串很长的随机字符串
TZ=Asia/Shanghai
MEMORY_LIMIT=2048
CPU_LIMIT=2.0

保存方法:

  • Ctrl + O
  • 回车
  • Ctrl + X

注意:如果数据库已经初始化过管理员账号,后来再改 .env 里的 ADMIN_PASSWORD 可能不会覆盖旧密码。第一次部署前改最稳妥。

8. 启动项目

项目根目录下已经提供 docker-compose.yml,直接执行:

docker compose up -d --build

第一次启动会构建镜像,时间可能比较久。构建过程会安装 Python 依赖、浏览器依赖、Playwright Chromium 等组件。

启动完成后查看容器状态:

docker compose ps

正常情况下可以看到 xianyu-auto-reply-fix 处于运行状态。

9. 访问后台

浏览器打开:

http://你的服务器IP:9000

API 文档地址:

http://你的服务器IP:9000/docs

健康检查地址:

http://你的服务器IP:9000/health

如果打不开,请检查服务器安全组、防火墙是否放行 9000 端口。

10. 常用管理命令

进入项目目录:

cd /opt/xianyu-auto-reply-fix

查看运行状态:

docker compose ps

查看日志:

docker compose logs -f xianyu-app

重启服务:

docker compose restart

停止服务:

docker compose down

重新构建并启动:

docker compose up -d --build

查看容器资源占用:

docker stats

11. 数据保存位置

这些目录很重要,不要随便删除:

data/      数据库文件
logs/ 运行日志
backups/ 备份文件

其中主要数据库通常在:

data/xianyu_data.db

12. 手动备份

建议更新或重装前先备份:

cd /opt/xianyu-auto-reply-fix
BACKUP_DIR="backups/manual_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r data logs global_config.yml "$BACKUP_DIR"/

更简单的做法是直接打包:

cd /opt
tar -czf xianyu-backup-$(date +%Y%m%d_%H%M%S).tar.gz xianyu-auto-reply-fix/data xianyu-auto-reply-fix/logs xianyu-auto-reply-fix/global_config.yml

13. 更新项目

cd /opt/xianyu-auto-reply-fix
docker compose down
git pull
docker compose up -d --build

更新前建议先按上一节做备份。

14. 使用国内构建配置

如果服务器访问 Docker Hub 或国外源很慢,可以尝试项目自带的国内配置:

docker compose -f docker-compose-cn.yml up -d --build

国内配置默认访问端口一般是:

http://你的服务器IP:8000

具体以 docker-compose-cn.yml 中的 ports 配置为准。

15. 开启 Nginx 反向代理

项目的 docker-compose.yml 里带了一个可选 Nginx 服务,默认不启动。

如果你只是新手部署,建议先用:

http://服务器IP:9000

确认项目能跑起来后,再配置域名和 HTTPS。

如果要启动项目自带 Nginx:

docker compose --profile with-nginx up -d --build

启动后默认会占用服务器 80443 端口。

16. 防火墙和安全组

云服务器需要在控制台安全组放行端口:

9000

如果启用了 Nginx,还需要放行:

80
443

Ubuntu 本机防火墙如果启用了 ufw,执行:

sudo ufw allow 9000/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

17. 常见问题

17.1 docker: command not found

说明 Docker 没安装成功。重新执行:

curl -fsSL https://get.docker.com | sudo sh

17.2 docker compose 命令不存在

先检查:

docker compose version

如果没有 Compose 插件,可以安装:

sudo apt update
sudo apt install -y docker-compose-plugin

17.3 访问不了后台

按顺序检查:

docker compose ps
docker compose logs -f xianyu-app
curl http://127.0.0.1:9000/health

如果服务器本机 curl 能访问,但外网不能访问,通常是安全组或防火墙没放行 9000

17.4 端口 9000 被占用

编辑 docker-compose.yml

nano docker-compose.yml

找到:

ports:
- "9000:8090"

比如改成:

ports:
- "19000:8090"

然后重新启动:

docker compose down
docker compose up -d

访问地址改为:

http://服务器IP:19000

17.5 容器启动失败

查看日志:

docker compose logs -f xianyu-app

常见修复方式:

docker compose down
docker compose build --no-cache
docker compose up -d

17.6 entrypoint.sh 报错

如果提示脚本格式或找不到文件,执行:

sed -i 's/\r$//' entrypoint.sh docker-deploy.sh start.sh stop.sh
docker compose down
docker compose up -d --build

18. 一键部署脚本方式

项目也提供了脚本:

chmod +x docker-deploy.sh
./docker-deploy.sh

脚本会询问是否使用国内镜像,然后自动构建和启动。

新手如果不想处理交互问题,推荐直接使用:

docker compose up -d --build

19. 部署完成后的第一件事

  1. 打开 http://服务器IP:9000
  2. 使用默认账号或你 .env 中配置的账号登录
  3. 立即修改默认密码
  4. 确认 data/ 目录已经生成数据库文件
  5. 添加闲鱼账号前,先确认项目用途符合平台规则和当地法律法规