Seafile服务端,修改文件存储目录(二)

vps · 昨天 · 46 人浏览

最近A股暴跌,有点惨,所以没心情更新博客,但是在seafile上遇到很多问题,不得不更新记录下。

两个月前,写过一篇《搭建seafile服务端,修改文件存储目录》,但是是针对旧版seafile的,我服务端重装seafile 13.06时发现失效了,于是让AI重新出了一份更改教程,测试成功,但也遇到很多坑。于是就在上一篇文章的基础上修改下。

服务器我用的是GreencloudVPS的大盘鸡,20G系统盘+1T数据盘。Seafile默认安装,存储目录默认为/opt/seafile-data,计划将存储目录迁至挂载盘/data/seafile-data下,root用户运行。

1.先确认当前状态
cd /opt/seafile
cat .env | grep -E 'SEAFILE_VOLUME|SEAFILE_MYSQL_VOLUME'
默认输出应该是:
SEAFILE_VOLUME=/opt/seafile-data
SEAFILE_MYSQL_VOLUME=/opt/seafile-mysql/db

2.停止Seafile容器
docker compose down

3.将/opt/seafile-data下所有文件复制到/data/seafile-data
将/opt/seafile-mysql下所有文件复制到/data/seafile-mysql

4.设置文件权限
由于容器以root运行,只需确保目录对root可读写
chown -R root:root /data/seafile-data
chmod -R 755 /data/seafile-data
chmod -R 777 /data/seafile/seafile-data/logs
chmod -R 777 /data/seafile/seafile-data/seafile-data
chmod -R 777 /data/seafile/seafile-data/seahub-data

chown -R root:root /data/seafile-mysql
chmod -R 755 /data/seafile-mysql

我用命令没改过来,所以一直报错,后来直接用BT面板的文件管理改成root权限。

4.修改配置文件
打开/opt/seafile,找到.env,修改下面两个值:
SEAFILE_VOLUME=/data/seafile-data
SEAFILE_MYSQL_VOLUME=/data/seafile-mysql/db

打开/opt/seafile,找到seafile-server.yml,修改下面两个值:
${SEAFILE_MYSQL_VOLUME:-/data/seafile-mysql/db}:/var/lib/mysql
${SEAFILE_VOLUME:-/data/seafile-data}:/shared

5.重启容器
docker compose up -d
查看日志:
docker logs seafile 2>&1 | tail -30
docker logs seafile-db 2>&1 | tail -10
看到 Seafile file server started. + seahub 启动无 ERROR 就 OK。

6.测试路径
打开Seafile网页端,上传一个大文件,测试是否占用数据盘。我测试是成功了。

应用
  1. 这款大盘鸡用的如何呢?

    1. admin (作者)  昨天
      @我是军爸

      还是非常稳定的,用了一点多了,节点就故障了一次

Theme Jasmine by Kent Liao