Docker 部署 Seafile 开源私有云盘

文章目录

前言

在之前的文章中,我们在 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.

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

滚动至顶部