Docker安装Seafile后使用Windows共享作为存储后端
• Windows IP: 192.168.1.98
• 共享文件夹: seafile
• 用户名: ngmay
• 密码: 123456
1.安装 CIFS 工具
在 Linux 宿主机上安装 CIFS 工具:
sudo apt install cifs-utils
2.创建挂载点
创建一个挂载点目录:
sudo mkdir /mnt/seafile
3.挂载共享文件夹
将 Windows 共享文件夹挂载到刚刚创建的挂载点:
sudo mount -t cifs //192.168.1.98/seafile /mnt/seafile -o username=ngmay,password=123456
4.配置自动挂载(开机自动挂载)
编辑 /etc/fstab 文件,添加以下内容以便开机自动挂载:
//192.168.1.98/seafile /mnt/seafile cifs defaults,username=ngmay,password=123456 0 0
5.配置 Seafile Docker 容器
修改 docker-compose.yml 文件,添加挂载配置:
services:
seafile:
volumes:
- /opt/seafile/data:/shared # Seafile默认的数据持久化存储路径。
- /mnt/seafile:/shared/98server-seafile # 新的后端存储目录,映射到容器内部
6.配置 Seafile 存储后端
在 seafile.conf 中设置存储类:
编辑 seafile.conf 文件,添加以下内容:
[storage]
enable_storage_classes = true
storage_classes_file = /shared/seafile/conf/seafile_storage_classes.json
创建 seafile_storage_classes.json 文件:
在 /shared/seafile/conf/ 目录中创建 seafile_storage_classes.json 文件,添加以下内容:
[
{
"storage_id": "Default_Storage",
"name": "Default_Storage",
"is_default": true,
"fs": {
"backend": "fs",
"dir": "/shared/seafile/seafile-data"
},
"commits": {
"backend": "fs",
"dir": "/shared/seafile/seafile-data"
},
"blocks": {
"backend": "fs",
"dir": "/shared/seafile/seafile-data"
}
},
{
"storage_id": "98_Storage_seafile",
"name": "98_Storage_seafile",
"is_default": false,
"fs": {
"backend": "fs",
"dir": "/shared/98server-seafile"
},
"commits": {
"backend": "fs",
"dir": "/shared/98server-seafile"
},
"blocks": {
"backend": "fs",
"dir": "/shared/98server-seafile"
}
}
]
storage_id为Default_Storage的是我seafile容器创建时候的数据存储目录

将is_default设置为true,seafile创建资料库会默认在该资料库存储数据;
需要在此基础上添加新的存储后端,则是另外写一个
在 seahub_settings.py 中设置存储类:
编辑 seahub_settings.py 文件,添加以下内容:
ENABLE_STORAGE_CLASSES = True
STORAGE_CLASS_MAPPING_POLICY = 'USER_SELECT'
7.重新启动 Seafile 容器
重新启动 Seafile 容器以应用更改:
docker-compose down
docker-compose up -d
seafile网页端新建资料库查看效果


浙公网安备 33010602011771号