unraid下docker-compose安装seafile专业版

前言

​ 很久没更新了,主要是最近一段时间比较懒,没折腾新鲜玩意,再加上最近碰到的大部分问题搜索一下都能找到解决办法,没啥写的必要。

​ 偶然在张大妈上看到了阿文菌折腾UNRAID搞NAS,看的心头痒痒,就抄作业来了一套。

链接如下:使用UNRAID系统,搭建ALL IN ONE全过程!超万字教程,绝对干货!,这一套跑起来性能不错,加上两块硬盘实测功耗在45w,功耗不高可玩性强。

​ 最近有个人需求要搭建数据同步盘,按理说群晖的drive同步也不错,奈何我要同步小文件巨多,drive扫描了一晚上直接卡死了半点都没同步,所以想着搭建一个个人同步盘玩玩。个人同步盘用的比较多的也就nextcloud和seafile,nextcloud使用PHP,个人天生不看好PHP的效率,加上seafile的专业版支持三个用户免费使用,所以最终选择了seafile。

开搞

去seafile的官网瞅了瞅,seafile支持docker部署,不用搞一大堆软件安装配置,这个好。

最新版的seafile使用的是docker-compose部署,可是unraid虽然自带了docker,但是没有docker-compose,需要自己手动安装,这就开搞:

安装docker-compose

docker-compose的安装方式有很多种,我用的是python的安装方式,如果想用其他安装方式的请自行百度。由于用的是python3,所以咱们先安装下python3相关的软件。

先打开unraid界面,来到APPS界面,搜索nerdpack,找到NerdPack GUI,点击图标安装,如果已经安装过的可以看下是否有更新,顺手更新下。

image-20210129152259946

安装完后点击PLUGINS选项,找到Nerd Tools,点击图标,进入可用软件列表

image-20210129152422424

image-20210129152449021

在NAME下面的输入框输入要安装的软件包,按下回车找到软件包,点击右侧的滑块,使选项由OFF变成ON。

要安装的软件包有libffi、python3、python3-pip和python-setuptools,我顺手把vim也装上了,个人用的习惯。顺带一提,你安装的时候软件版本可能已经更新到更新的版本了,与我截图上的版本不一样也没有关系,只要名称的前面是一样的就行。

image-20210129152659910

image-20210129152807543

选好之后用鼠标滚轮移到页面最下面,点击APPLY按钮,等待安装。我已经安装过了就不再截图了。

[可选]pip加速

由于pip的默认源速度感人,我们可以设置阿里源进行加速,命令如下:

 cat > ~/.pip/pip.conf << EOF

 [global]

 trusted-host=mirrors.aliyun.com

 index-url=http://mirrors.aliyun.com/pypi/simple/

 EOF

安装完成后打开UNRAID的终端,输入命令开始安装docker-compose:

pip3 install docker-compose

安装完成后执行命令,查看版本:

docker-compose version

image-20210129153600027

安装前的其他准备

1.docker加速,docker默认源速度很蛋疼,需要更新一个国内源。

创建或修改 /etc/docker/daemon.json

修改内容如下:

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

保存后,在unraid的SETTINGS界面将docker的Enable设置为No,保存,再将Enable设置为Yes启动,使配置生效

2.选择一个存储目录,最好挑一个大点的磁盘,免得可用空间太小,在存储目录里新建mysql、es和seafile三个文件夹,作为数据存储,并修改权限。终端命令:

cd 你自己要存储的目录
mkdir mysql es seafile
chmod 777 mysql es seafile

注意

1.mysql不能存储到以共享方式mount的目录中,如果你的存储目录是unraid中直接挂载的硬盘,那此处的注意事项可以跳过,如果你的存储目录是用samba方式或nfs方式挂载到unraid中的,那mysql是无法安装的,安装过程中会报权限问题,且暂时没有找到解决办法。唯一可行的就是把mysql的目录建立到其他的本地磁盘中。

2.seafile也不能存储到以samba方式挂载的目录中。这个问题我尝试了多次,均无法解决,后来我改成了以nfs方式挂载目录,发现是可行的。nfs方式在群晖上设置好nfs共享后,在unraid中执行命令:

mount -t nfs 群晖ip:共享的目录  要挂载的目录 

如果有启动脚本,则将此命令加入到启动脚本中实现开机自启。

开始安装

下载seafile的compose文件。打开seafile的官方部署文档:https://cloud.seafile.com/published/seafile-manual-cn/docker/pro-edition/%E7%94%A8Docker%E9%83%A8%E7%BD%B2Seafile.md,找到docker-compose.yml 文件点击打开页面,并在新开的页面的下载按钮上右键,复制链接地址,

image-20210129163002836

image-20210129163019679

然后进入unraid的终端,进入之前准备好的存储目录,执行命令将配置文件下载下来,并用vi进入编辑模式(如果前面安装了vim可以用vim打开),如果对vim命令不熟的小伙伴可以通过其他方式将unraid的文件下载到电脑上修改完后再上传回来。

wget 刚才复制的url
mv 刚才下载的文件名 docker-compose.xml
vi docker-compose.xml

需要修改的地方:

image-20210129163833043

image-20210129164023151

修改完后保存。

输入启动命令:

docker-compose up -d

等待项目启动,启动成功会提示四个绿色的信息。

这时打开UNRAID的DOCKER界面,会看到多了四个docker信息,分别是seafile、seafile-elasticsearch、seafile-memcached和seafile-mysql,这四个的状态都为started状态。

如果不是started状态需要点击日志排查具体的问题。

都启动成功后,在浏览器输入unraid的ip:映射的端口即可打开seafile的登录界面:

image-20210129165733862

输入上面设置好的邮箱和密码,进入seafile进行使用。

具体seafile内的使用不再赘述,使用起来还是比较简单的。

最后修改:2021 年 02 月 18 日 05 : 28 PM

发表评论