Docker 部署 Seafile 开源私有云盘

目录

前言

在之前的文章中 Windows 搭建 Seafile 开源私有云盘 – IT Tech. ,我们在 Windows 平台上部署 Seafile 服务器,但 Windows 版 Seafile 已经停止更新。而目前 Seafile 继续更新的平台只有 Linux 和树莓派,若要获得 Seafile最新的功能和安全性改进,就必须抛弃 Windows 平台转向 Linux 下部署 Seafile 服务器。

系统需求

最低系统需求2核心 CPU,2GB RAM

支持安装 Docker CE 的 Linux 系统

  • Ubuntu
  • CentOS
  • Debian

Linux 安装 Docker CE 请参考以下文章:Linux 安装 Docker CE – IT Tech.

Docker 部署 Seafile 社区版

下载并修改 .env 文件

				
					mkdir /opt/seafile
cd /opt/seafile

wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
wget https://manual.seafile.com/13.0/repo/docker/caddy.yml

nano .env
				
			

以下数值需要注意或者更改

数值描述默认数值
SEAFILE_VOLUMESeafile数据的存储目录/opt/seafile-data
SEAFILE_MYSQL_VOLUMEMySQL数据的卷目录/opt/seafile-mysql/db
SEAFILE_CADDY_VOLUME用于存储从Let’s Encrypt获取的证书的Caddy数据卷目录/opt/seafile-caddy
INIT_SEAFILE_MYSQL_ROOT_PASSWORDMySQL 的 root 密码(仅在首次部署时需要)
SEAFILE_MYSQL_DB_HOSTMySQL的主机地址db
SEAFILE_MYSQL_DB_PORTMySQL的端口3306
SEAFILE_MYSQL_DB_USERMySQL 的用户(数据库用户可在 conf/seafile.conf 中找到)seafile
SEAFILE_MYSQL_DB_PASSWORDMySQL 的用户 seafile 密码(必须)
SEAFILE_MYSQL_DB_CCNET_DB_NAMEccnet的数据库名称ccnet_db
SEAFILE_MYSQL_DB_SEAFILE_DB_NAMESeafile 的数据库名称seafile_db
SEAFILE_MYSQL_DB_SEAHUB_DB_NAMESeahub 的数据库名称seahub_db
JWT_PRIVATE_KEYJWT_PRIVATE_KEY,Seafile 需要一个长度不小于 32 个字符的随机字符串,可通过 pwgen -s 40 1 生成。pwgen -s 40 1(必须)
SEAFILE_SERVER_HOSTNAMESeafile服务器主机名或域名(必须)
SEAFILE_SERVER_PROTOCOLSeafile服务器协议(HTTP或HTTPS)http
CACHE_PROVIDER用于Seafile的缓存服务器类型。可选方案包括redis和memcached。自Seafile 13版本起,建议使用redis作为缓存服务以支持新功能,memcached将不再默认集成到Seafile Docker中。redis
REDIS_HOSTRedis服务器主机地址redis
REDIS_PORTRedis 服务器端口6379
REDIS_PASSWORDRedis服务器密码(none)
MEMCACHED_HOSTMemcached服务器主机地址memcached
MEMCACHED_PORTMemcached服务器端口11211
TIME_ZONE时区UTC
ENABLE_NOTIFICATION_SERVER启用(true)或禁用(false)Seafile的通知功能false
NOTIFICATION_SERVER_URL推送通知服务器 url(none)
MD_FILE_COUNT_LIMIT(仅在部署 元数据服务器 时有效)。元数据功能允许的存储库中最大文件数量。若存储库中的文件数量超过此值,则该存储库将无法启用元数据管理功能。对于已启用元数据管理的存储库,当其记录数量达到此值但仍有部分文件未记录在元数据服务器中时,未记录文件的元数据管理将被跳过。100000
INIT_SEAFILE_ADMIN_EMAIL管理员名称me@example.com (建议修改)
INIT_SEAFILE_ADMIN_PASSWORD管理员密码asecret (建议修改)
NON_ROOT以非 root 用户身份运行 Seafile 容器false

启动 Seafile 服务器

				
					docker compose up -d
				
			

启动服务后,可通过追踪容器 seafile 的日志查看初始化进度(即执行 docker logs seafile -f 命令)。

				
					---------------------------------
This is your configuration
---------------------------------

    server name:            seafile
    server ip/domain:       seafile.example.com

    seafile data dir:       /opt/seafile/seafile-data
    fileserver port:        8082

    database:               create new
    ccnet database:         ccnet_db
    seafile database:       seafile_db
    seahub database:        seahub_db
    database user:          seafile


Generating seafile configuration ...

done
Generating seahub configuration ...

----------------------------------------
Now creating seafevents database tables ...

----------------------------------------
----------------------------------------
Now creating ccnet database tables ...

----------------------------------------
----------------------------------------
Now creating seafile database tables ...

----------------------------------------
----------------------------------------
Now creating seahub database tables ...

----------------------------------------

creating seafile-server-latest symbolic link ...  done

-----------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-----------------------------------------------------------------
				
			

然后您将看到以下消息,表明 Seafile 服务器已成功启动:

				
					Starting seafile server, please wait ...
Seafile server started

Done.

Starting seahub at port 8000 ...

----------------------------------------
Successfully created seafile admin
----------------------------------------

Seahub is started

Done.
				
			

最后,您可以访问 http://seafile.example.com 使用 Seafile。

有关更多详细信息请访问 Seafile 部署文档:Setup community edition – Seafile Admin Manual

发表评论须遵守中华人民共和国相关法律法规。违规评论将会被删除。

Comments must subject to the relevant laws and regulations of the People’s Republic of China. Offending comments will be deleted.

订阅评论
提醒
guest

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

0 评论
最新
最旧
内联反馈
查看所有评论
滚动到顶部