文章目录
前言
在之前的文章中,我们在 Windows 平台上部署 Seafile 服务器,但 Windows 版 Seafile 已经停止更新,距离最后一次更新2016年已经过去了8年。而目前 Seafile 继续更新的平台只有 Linux 和树莓派,若要获得 Seafile最新的功能和安全性改进,就必须抛弃 Windows 平台转向 Linux 下部署 Seafile 服务器,以获得更好的性能。
系统需求
最低系统需求2核心 CPU,2GB RAM
支持安装 Docker CE 的 Linux 系统
- Ubuntu
- CentOS
- Debian
Linux 安装 Docker CE 请参考以下文章:Linux 安装 Docker CE – 我的IT技术
下载并修改 YAML 文件
mkdir /opt/seafile
cd /opt/seafile
# Seafile CE 10.0
wget -O "docker-compose.yml" "https://manual.seafile.com/docker/docker-compose/ce/10.0/docker-compose.yml"
# Seafile CE 11.0
wget -O "docker-compose.yml" "https://manual.seafile.com/docker/docker-compose/ce/11.0/docker-compose.yml"
nano docker-compose.yml
修改 yml
文件中的以下选项
- MySQL root 密码(
MYSQL_ROOT_PASSWORD
和DB_ROOT_PASSWD
) - Seafile 管理员账户(
SEAFILE_ADMIN_EMAIL
) - Seafile 管理员账户密码(
SEAFILE_ADMIN_PASSWORD
) - Letsencrypt获取 SSL 证书(
SEAFILE_SERVER_LETSENCRYPT
) - 网站域名(
SEAFILE_SERVER_HOSTNAME
) - HTTPS 开启(
ports
)//可选 - 时区(
TIME_ZONE
)//可选
启动 Seafile 服务器
# if `docker-compose.yml` file is in current directory:
docker-compose up -d
# if `docker-compose.yml` file is elsewhere:
docker-compose -f /path/to/docker-compose.yml up -d
等待几分钟后 Docker 拉取镜像并启动,即可访问 http://你的域名
或者 https://你的域名
Seafile 文件架构
Docker 版 Seafile 数据将会持久化储存在容器外部,分别在两个文件夹
/opt/seafile-mysql
和 /opt/seafile-data
- /opt/seafile-data/seafile:seafile 服务器配置和数据的目录
- /opt/seafile-data/seafile/logs:这是包含 seafile 服务器进程日志文件的目录。例如,你可以在
/opt/seafile-data/seafile/logs/seafile.log
中找到 seafile 服务器日志。 - /opt/seafile-data/logs:操作系统和 Nginx 日志的目录
- /opt/seafile-data/logs/var-log:容器内挂载为
/var/log
的目录。例如,你可以在/opt/seafile-data/logs/var-log/nginx/
中找到 nginx 日志 - /opt/seafile-data/ssl:证书目录,默认情况下不存在
日志记录
要监控容器日志(从容器外部),请使用以下命令
# if the `docker-compose.yml` file is in current directory:
docker compose logs --follow
# if the `docker-compose.yml` file is elsewhere:
docker compose -f /path/to/docker-compose.yml logs --follow
# you can also specify container name:
docker compose logs seafile --follow
# or, if the `docker-compose.yml` file is elsewhere:
docker compose -f /path/to/docker-compose.yml logs seafile --follow
要同时监控所有 Seafile 日志(从容器外部),请运行
sudo tail -f $(find /opt/seafile-data/ -type f -name *.log 2>/dev/null)
垃圾回收
删除文件时,组成这些文件的区块不会被立即删除,因为可能还有其他文件会引用这些区块。要删除它们,Seafile 需要运行 “垃圾回收 ”进程,该进程会检测不再使用的区块并清除它们。
docker exec seafile /scripts/gc.sh
更多资料请参考 Seafile 文档:Seafile Community Installation – Seafile Admin Manual
发表评论须遵守中华人民共和国相关法律法规。违规评论将会被删除。
Comments must subject to the relevant laws and regulations of the People’s Republic of China. Offending comments will be deleted.