欢迎光临
我们一直在努力

seafile服务器_社区版13.0 全部署流程

本文档需要注意的是:

适合一定浅基础的初学人员,配置较多,系统为刚装的系统,纯净环境。

系统环境:Ubuntu 24.04.3 LTS

seafile服务器版本:13.0.12 (社区版)

本文档编写日期为2025.11.11

适用于0基础学习理解  

        标注为代码命令格式

红色字体标注为强调

老样子,贴官网文档链接:

部署文档主页:https://cloud.seafile.com/wiki/publish/seafile-manual/7Lj3/

Seafile Docker 部署概览:https://cloud.seafile.com/wiki/publish/seafile-manual/6KxF/

部署社区版:https://cloud.seafile.com/wiki/publish/seafile-manual/hk5G/

由于官网目前最新版本为13.0,因此本文档针对 Seafile v12.0 及以上版本。且支持脚本安装;官方已经把源集成到docker;

因此当采用官方推荐的docker安装时,无需额外安装mysql;

一、Docker安装:

1、安装 Docker 所需的依赖包: cd /tmp

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

   #添加 Docker 的官方 GPG 密钥以确保下载的软件包是安全的 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o docker.gpg 

   #如果执行失败,多执行几次 sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg docker.gpg

#将 Docker 的稳定版仓库添加到 APT 源中,再次更新软件源以包含 Docker 仓库中的包 echo "deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

2、安装 Docker

sudo apt install -y docker-ce docker-ce-cli containerd.io

#启动 Docker 服务并设置为开机自启: sudo systemctl start docker sudo systemctl enable docker

3.安装vim

Ubuntu/Debian 系列

  • 更新软件源 确保系统的软件源是最新的:

sudo apt update

  • 安装 Vim 使用以下命令安装:

sudo apt install vim

  • 验证安装 检查 Vim 是否成功安装:

vim –version

4.添加第三方docker源仓库:

#进行创建并编辑,输入以下内容:

sudo vim /etc/docker/daemon.json   

(仅需要添加横线内的文件即可) ——————————————————- { "registry-mirrors":    [        "https://docker.1ms.run",        "https://docker.1panel.live",        "https://docker.m.daocloud.io"     ] } —————————————————–

#保存文件后重启 Docker 服务,新的镜像源即可生效: systemctl daemon-reload systemctl restart docker

到此docker安装完毕。。。

二、下载并修改  .env 

从 Seafile Docker 12.0开始,我们使用以下三个配置文件:

         .env ,  seafile-server.yml 和  caddy.yml 。

部署社区版:https://cloud.seafile.com/wiki/publish/seafile-manual/hk5G/

mkdir /opt/seafile

cd /opt/seafile

# Seafile CE 12.0

wget -O .env https://manual.seafile.com/12.0/repo/docker/ce/env

wget https://manual.seafile.com/12.0/repo/docker/seadoc.yml

wget https://manual.seafile.com/12.0/repo/docker/ce/seafile-server.yml

wget https://manual.seafile.com/12.0/repo/docker/caddy.yml

# Seafile CE 13.0  (此处有12.0和13.0各四个文件,不需要全部下载,想要哪个版本,下载对应的四个文件即可。此处以13.0为例)

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

sudo vim .env

此时会打开 .env文件,我们需要按照官方文档给与的字段修改:

INIT_SEAFILE_MYSQL_ROOT_PASSWORD:SEAFILE_MYSQL_DB_PASSWORD:

需要修改的密码此处直接跳过,根据自己想法设置即可;

JWT:JWT私钥(懒得再去安装jwt,直接去找豆包,然后发送   pwgen -s 40 1  即可,豆包自己会运行)

  pwgen -s 40 1 此命令可以修改,但是官方文档说明jwt字符串不得小于32个字符,

   因此格式应为:  pwgen -s <不得小于32> 1

https://www.doubao.com/chat/28707232040014594

SEAFILE_SERVER_HOSTNAME: 官网给出的解释是Seafile服务器的主机名或域名; 但是如果是局域网部署,此处应该设置主机的ip地址;不可随意填写!

如果还有其他自定义需求,可以详见官网文档;

这时先不要保存退出!!

三、设置自定义存储路径:

在官方文档里,文档约定处,写明

  •  /opt/seafile 是存储Seafile docker compose文件的目录。如果您将Seafile放在不同的目录中,请相应地调整所有路径。

此处必须在这一步进行修改,否则后续修改麻烦;

只需要修改BASIC_STORAGE_PATH   这一项即可;

修改为挂载盘的位置;

设置完毕,按esc,然后输入:wq 保存退出即可。

四、启动Seafile服务

执行以下命令启动 Seafile 服务

sudo docker compose up -d

ERROR: Named volume "xxx" is used in service "xxx" but no declaration was found in the volumes section

当您的 Docker(或 docker-compose)版本过低时,您可能会遇到此问题。您可以根据 Docker 官方文档升级或重新安装 Docker 服务来解决这个问题。

注意:你必须在包含 .env 的目录中运行上述命令。如果 .env 文件在其他目录, 请运行

sudo docker compose –env-file /path/to/.env up -d

事实上,不建议这种跨目录  情况运行,可能会出现衍生问题,建议cd 到安装文件夹下,然后重新运行上方命令,比如 cd /opt/seafile,然后再重新运行  sudo docker compose up -d  即可。

启动服务后,您可以通过跟踪容器  seafile  的日志(即  sudo docker logs seafile -f )查看进度。

然后,你可以看到 Seafile 服务器成功启动的以下消息:

最后,您可以访问  http://主机ip地址  (例:http://192.168.110.155)  来使用 Seafile。

如果端口号没有更改,则不需要加端口。默认的8000和8028均不需要。

五、垃圾回收

垃圾回收

在 seafile 中,当文件被删除时,组成这些文件的块数据不会立即删除,因为可能有其他文件也会引用这些块数据(用于去重功能的实现)。为了真正删除无用的块数据,还需要额外运行"GC"程序。GC 会自动检测到哪些数据块不再被任何文件所引用,并清除它们。

GC 脚本被放在docker容器的 /scripts 目录下。执行 GC 的方法很简单:

docker exec seafile /scripts/gc.sh

对于社区版来说,该程序会暂停 Seafile 服务,但这是一个相对较快的程序,一旦程序运行完成,Seafile 服务也会自动重新启动。而专业版提供了在线运行 GC 的功能,不会暂停 Seafile 服务。

到此,已经全部安装完毕!!!!

六、补充

6.1:卸载seafile

之前已经安装seafile了,现在出现问题想要卸载,重新按照本文安装,怎么办: 查询docker容器关联:

  sudo docker ps 

如果如下图所示,则这5个容器需要逐一关闭;

由于每个人每次运行时,docker的ID均不一样,则此处只写公式模板:     docker stop  ID   (例:docker stop 7e4093fc4b60 )

当全部关闭时,可以输入  sudo docker ps   再次查询是否还有开启中的容器;

如果显示为空,则可以进行删除,下图的5个均要删除;

  sudo docker ps -a 

由于每个人每次运行时,docker的ID均不一样,则此处只写公式模板:     docker rm  ID   (例:docker stop 7e4093fc4b60 )

全部删除后,可以输入  sudo docker ps -a   再次查询是否还有未删除的容器;

如果显示为空,则容器清理完毕,此时需要删除文件夹:

cd /opt/seafile   切换到seafile当初安装三个配置文件(.env ,  seafile-server.yml 和  caddy.yml)的文件夹。

 sudo rm -r seafile-mysql 

 sudo rm -r seafile-data

 sudo rm -r seafile-caddy

 sudo rm -r seadoc-data

然后再重新安装即可。

6.2 Seafile 目录结构

/seafile-mysql  :  mysql数据

/seafile-caddy:提示:从Seafile Docker 12.0开始,我们使用 Caddy 代理Web服务,如果您想访问Caddy的日志,可以使用以下命令:

docker logs seafile-caddy –follow

seadoc-data:

 /seafile-data  :主存储数据

  • /opt/seafile-data/seafile: Seafile 服务的配置文件以及数据文件

    • /opt/seafile-data/seafile/logs: Seafile 服务运行产生的日志文件目录。例如,您可以在 /opt/seafile-data/seafile/logs/seafile.log 中找到 seaf-server 日志。

  • /opt/seafile-data/logs: 日志目录

    • /opt/seafile-data/logs/var-log: 我们将容器内的 /var/log 链接到本目录。您可以在 /opt/seafile-data/logs/var-log/nginx/ 中找到 nginx 的日志文件

更多配置项

Seafile 的配置文件位于 /opt/seafile-data/seafile/conf 。您可以根据配置部分修改配置项。

赞(0)
未经允许不得转载:171主机测评 » seafile服务器_社区版13.0 全部署流程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址