Rat's

使用Docker安装Seafile云盘专业版,并配置域名及SSL证书
说明:Seafile是一个开源的文件云存储平台,主要是为团队设计的,功能很多,用户可加密资料库,且密码不会保存在服...
扫描右侧二维码阅读全文
26
2018/07

使用Docker安装Seafile云盘专业版,并配置域名及SSL证书

说明:Seafile是一个开源的文件云存储平台,主要是为团队设计的,功能很多,用户可加密资料库,且密码不会保存在服务器端,管理员也无权访问你的文件。用户之间也可以共享和同步文件,方便了团队协同工作。其版本分为开源免费版和专业版,两者区别挺大的,比如专业版多了搜索、集群、亚马逊S3Ceph、阿里云OSS等功能,而且专业版3用户免费,一两个人用的话建议专业版,这里说下专业版安装教程。如果人多建议使用开源免费版,安装可以查看:Linux VPS一键安装Seafile搭建私有云盘存储

截图

请输入图片描述
请输入图片描述

安装

Github地址:https://github.com/haiwen/seafile-docs-cn

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、安装Seafile专业版
先访问该地址:https://customer.seafile.com,注册个账号,然后点击左侧的Downloads,这时候你会看到Seafile专业版的Docker登录信息。

然后使用VPS登陆Seafile的私有仓库:

#登录仓库地址docker.seadrive.org,输入给你的用户名和密码即可
docker login docker.seadrive.org

运行Seafile专业版容器:

#记得修改默认域名、管理员用户名和密码,本配置可自动申请Let's encrypt SSL证书,记得提前解析好域名
docker run -d --name seafile \
  -e SEAFILE_SERVER_LETSENCRYPT=true \
  -e SEAFILE_SERVER_HOSTNAME=moerats.com \
  -e SEAFILE_ADMIN_EMAIL=admin@moerats.com \
  -e SEAFILE_ADMIN_PASSWORD=moerats_password \
  -v /root/seafile:/shared \
  -p 80:80 \
  -p 443:443 \
  docker.seadrive.org/seafileltd/seafile-pro:latest

#如果你想使用自己的SSL证书,需要创建/root/seafile/ssl目录, 并将你的证书以及私钥放入这个目录中,如果的网站名称为moerats.com, 那么你的证书名称必须为moerats.com.crt,私钥名称必须为moerats.com.key。

安装完成后,需要进行初始化配置,打开域名会出现502 Bad Gateway,等待几分钟再访问就可以看到SeafileWeb界面了,此后Seafile数据会保存在服务器的/root/seafile目录。

客户端登录

我们除了可以通过域名登录查看外,还可以使用专用的客户端登录,支持Windows客户端、Mac客户端、Linux客户端、Terminal客户端、Android客户端、iPad/iPhone客户端。

客户端下载:https://www.seafile.com/download/,安装后打开客户端,直接填入域名,用户名和密码登录即可。

添加管理员

docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh

然后根据提示输入用户名以及密码即可。

目录结构

这里说下容器内/shared的目录结构,可直接查看映射在外部的/root/seafile文件夹即可。

/shared/db:mysql服务的数据目录。
/shared/seafile:Seafile服务的配置文件以及数据文件。
/shared/logs:日志目录。
/shared/logs/var-log:我们将容器内的/var/log挂载到本目录,您可以在shared/logs/var-log/nginx/中找到nginx的日志文件。
/shared/logs/seafile:Seafile服务运行产生的日志文件目录,比如您可以在 shared/logs/seafile/seafile.log文件中看到seaf-server的日志。
/shared/ssl:存放证书的目录。

升级Seafile

#该命令可以升级到Seafile的最新版本
docker pull docker.seadrive.org/seafileltd/seafile-pro:latest
docker rm -f seafile
docker run -d --name seafile \
  -e SEAFILE_SERVER_LETSENCRYPT=true \
  -e SEAFILE_SERVER_HOSTNAME=moerats.com \
  -e SEAFILE_ADMIN_EMAIL=admin@moerats.com \
  -e SEAFILE_ADMIN_PASSWORD=moerats_password \
  -v /root/seafile:/shared \
  -p 80:80 \
  -p 443:443 \
  docker.seadrive.org/seafileltd/seafile-pro:latest

问题查看

如果在使用的过程中出现问题,我们可以查看docker logsdocker exec信息来查看错误原因。

docker logs -f seafile
#或者
docker exec -it seafile bash

相关教程

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2018 年 07 月 26 日 09 : 09 AM

发表评论 取消回复

37 条评论

  1. sive

    博主,官方好像关闭了本文所提供的仓库登录方式,所以这篇教程也失效了

    1. Rat's
      @sive

      我刚试了下,没问题,可以登录,拉取专业版镜像

  2. 四个空格

    您好博主,能申请个友链吗,已添加贵站。四个空格- https://www.4spaces.org

    1. Rat's
      @四个空格

      可以去这里留具体信息,https://www.moerats.com/links.html,到时候加下

  3. 萌新

    谢谢大佬,哈哈哈。
    运行Seafile专业版容器那段代码编辑下吧格式有问题,复制过来会提示docker: invalid reference format
    我手敲了一遍

    1. Rat's
      @萌新

      哪里?

    2. 萌新
      @萌新

      再问下docker start seafile有办法做成开机启动吗?

      1. Rat's
        @萌新

        在run后面加这个参数,--restart=always。

  4. 石古子

    安装完成后,需要进行初始化配置,打开域名会出现502 Bad Gateway,等待几分钟再访问就可以看到Seafile的Web界面了,此后Seafile数据会保存在服务器的/root/seafile目录。
    操作到这里, 等了很久。。seafile还是不能访问哦

    1. 石古子
      @石古子

      输入这个:docker exec -it seafile bash 回复:
      Error response from daemon: Container 69fa16e59cd04c5b2ab8fb112f8fd6cd6fe8b9b91ef4a59066989aa4d is not running

      1. Rat's
        @石古子

        说你的镜像没有运行,docker start seafile,看是不是内存太小杀进程或者其它因素

        1. 石古子
          @Rat's

          docker start seafile, 回车后提示 seafile 然后就没其它的提示。

          我现在以在宝塔面板下手动安装seafile7.0.3,系统是:CentOS Linux 7.6.1810 (Core) 宝塔环境是:LNMP, 主要问题是无法在线打开表格和doc,更主要的是无法搜索。。所以我才想试试docker 是不是就可以解决这些问题。
          请问站长这个安装方式支持企业版7.0.3版本的吗?

          1. Rat's
            @石古子

            我看到仓库最新版pro是7.0.3,应该是支持了。

            1. 石古子
              @Rat's

              我是拿1G内存的VPS在测试,这样内存太小了吗?按上面教程,安装后等很久都是打不开。是不是要设置nginx?

  5. vv

    安装的时候没有加-e SEAFILE_SERVER_LETSENCRYPT=true ,现在想开启,自己也申请了个SSL证书,应该怎么办呢?

    1. Rat's
      @vv

      把容器清空,重新拉取,/root/seafile这个目录不变。

      清空命令:
      docker kill $(docker ps -aq)
      docker rm $(docker ps -aq)
      docker rmi $(docker images -q)
      docker volume rm $(docker volume ls -q)

      1. vv
        @Rat's

        另外请问下,证书要是想用自己的,不用LETSENCRYPT申请的,要怎么弄?提前把证书放好么?还是说重建容器后替换文件?我看LETSENCRYPT申请的证书文件和我在阿里云上申请到的都不太一样。

        1. Rat's
          @vv

          替换一下,名称要一模一样,然后重启容器就好了

  6. zymin

    J3455平台,自己搭建的私有云,安装Seafile Pro ,https 访问有什么解决办法吗?

    1. Rat's
      @zymin

      内网穿透,然后在外网进行反代,并添加ssl证书。

  7. lshy

    请教一下,按照博文介绍的在群晖中部署,映射是-v /pan/seafile:/shared 不能启动容器,改为-v /pan/seafile:/opt/shared 就没问题,但是数据映射硬不起作用了,感觉和左楠风提的问题是一个,但是把/pan/seafile的权限改为755、777均不起作用,到底是咋解决的呢?

    1. Rat's
      @lshy

      映射后面的文件夹位/shared,这个不要乱改,前面的可以改。然后设置权限估计是前面的文件夹

  8. 左楠风

    请教个问题,在群晖里部署,映射的数据文件夹只能位于系统的docker文件夹内,设置到其他磁盘就无法运行,尝试改了文件夹权限也没用,可能会是什么问题呢?

    1. 左楠风
      @左楠风

      搞定了,回来补个记录。主要是因为文件夹权限的关系,将文件夹设置为755就可以了。

  9. moskoe

    博主,请问这句话什么意思 “记得修改默认域名、管理员用户名和密码,本配置可自动申请Let's encrypt SSL证书” 默认域名,用户名和密码在哪看啊,望赐教

    1. Rat's
      @moskoe

      看下面那个-e变量,指的就是你问的这些参数

      1. moskoe
        @Rat's

        博主,那个docker -run下的-p是大写还是小写的啊?我两个都试了一下。小写的在输入 -p 80:80 回车后显示docker: invalid reference format,大写的在最后一句输入完之后显示
        Unable to find image '80:80' locally
        docker: Error response from daemon: pull access denied for 80, repository does not exist or may require 'docker login'.
        求解答,多谢。

        1. Rat's
          @moskoe

          小写,多看教程,按照步骤就没错的

  10. 温锦瑜

    请问,执行到docker login docker.seadrive.org的时候,输入了官网download页面给的账户密码,回车提示:Error response from daemon: Get https://docker.seadrive.org/v2/: unauthorized: authentication required是怎么回事

    1. Rat's
      @温锦瑜

      显示认证失败,确定输入账号密码是不是正确的。

  11. CE安全网

    博主用的是lnmp么?还是用的其他的面板?求赐教~~~

    1. Rat's
      @CE安全网

      我建站都不用面板的,要么lnmp,要么OneinStack,随机的。

      1. CE安全网
        @Rat's

        博主,面板用腻了。用的快吐了。

        推荐下lnmp和OneinStack哪个用起来更有逼格~

        1. Rat's
          @CE安全网

          这个没啥逼格之分,喜欢哪个就用哪个。不过我觉得OneinStack方便些。

  12. loop

    顶一个

    1. assmdx
      @loop

      还是owncloud好用
      ps:博主的博客是怎么搭建的呢?求主题?

      1. Rat's
        @assmdx

        程序是Typecho,主题是Handsome。