# 下载脚本
wget https://seafile-script.pages.dev/oneclick.sh
chmod +x oneclick.sh
# 运行部署
sudo ./oneclick.sh
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Linux (Ubuntu/CentOS/Debian) | Ubuntu 20.04+ |
| Docker | >= 20.10 | 最新稳定版 |
| Docker Compose | >= 1.29 | >= 2.0 |
| 内存 | 2GB RAM | 4GB+ RAM |
| 处理器 | 2 核 CPU | 4 核+ CPU |
| 存储空间 | 10GB | 50GB+ |
脚本自动检测:
支持两个版本:
引导式配置以下信息:
脚本自动完成:
部署完成后的目录结构:
脚本自动生成 manage.sh 管理工具:
# 基本操作
./manage.sh start # 启动服务
./manage.sh stop # 停止服务
./manage.sh restart # 重启服务
./manage.sh status # 查看状态
# 日志管理
./manage.sh logs # 查看所有日志
./manage.sh logs seafile # 查看 Seafile 日志
# 维护操作
./manage.sh backup # 备份数据
./manage.sh reset-admin # 重置管理员密码
./manage.sh shell # 进入容器
# 更新升级
./manage.sh update # 更新到最新版本
# 检查 MariaDB 容器状态
docker ps | grep mariadb
# 检测网络连通性
docker exec seafile ping <1panel-mariadb-ip>
# 验证数据库权限
docker exec <mariadb-container> mysql -uroot -p -e "SELECT User,Host FROM mysql.user WHERE User='seafile'"
# 查看端口占用
netstat -tlnp | grep :8080
# 修改端口 (编辑 .env 文件)
vim .env
# 修改 SEAFILE_PORT=8080 为其他端口
# 检查域名解析
nslookup your-domain.com
# 查看 Caddy 日志
docker logs seafile-caddy
# 确保防火墙开放 80/443 端口
ufw allow 80
ufw allow 443
# 修复数据目录权限
chown -R 8000:8000 /opt/seafile/seafile-data
# 对于 NFS 挂载,确保 no_root_squash
# 在 /etc/exports 中添加 no_root_squash 选项
# 查看容器状态
docker-compose ps
# 查看详细日志
docker-compose logs -f
# 检查配置文件
cat .env
# 测试数据库连接
docker exec -it seafile mysql -h<db-host> -P3306 -useafile -p
./manage.sh update
./manage.sh backup
./manage.sh stop
docker-compose pull
./manage.sh start
mysql_native_password 确保兼容性| 变量 | 作用 | 示例 |
|---|---|---|
SEAFILE_SERVER_HOSTNAME |
访问域名 | seafile.example.com |
SEAFILE_SERVER_PROTOCOL |
协议类型 | http 或 https |
SEAFILE_MYSQL_DB_HOST |
数据库地址 | 192.168.1.100 |
JWT_PRIVATE_KEY |
JWT 密钥 | 自动生成 40 位 |
Seafile 需要三个独立数据库:
ccnet_db - CCNet 组件数据seafile_db - 核心数据存储seahub_db - Web 界面数据[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
character-set-server = utf8mb4
# 清理垃圾数据 (建议每月执行)
./manage.sh shell
/opt/seafile/seafile-server-latest/seaf-gc.sh
./oneclick.sh --help # 查看帮助
./oneclick.sh --version # 显示版本