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新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 07 月 26 日 09 : 09 AM

发表评论

46 条评论

  1. QQ3897

    请问用用IP搭建后宝塔反代能安装,客户端也能够正常同步,但是网页上传大于100MB的文件会显示Network error,请问是哪儿的错误,谢谢。

    1. Rat's
      @QQ3897

      ip地址上传的?

      1. QQ3897
        @Rat's

        试了用ip上传和反代的域名上传都无法上传超过100MB的文件。

  2. qq5250

    用容器安装的seafile 怎么找不到开启seafile服务的命令文件了?博主

    1. Rat's
      @qq5250

      你是说启动吗?直接用docker命令启动容器就行,比如启动,docker start seafile

      1. qq5250
        @Rat's

        怎么才能设置开机自动启动呢

        1. Rat's
          @qq5250

          docker run后面加一个参数安装, --restart=always

  3. six

    我按教程做了,发现仓库最新版是6.3.13, 7.0.13版本在一个叫seafile-pro-mc的仓库里面,seafile-pro和带mc版本区别是没有整合数据库吗?因为我现在数据库找不到报错了,

  4. sive

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

    1. Rat's
      @sive

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

  5. 四个空格

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

    1. Rat's
      @四个空格

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

  6. 萌新

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

    1. Rat's
      @萌新

      哪里?

    2. 萌新
      @萌新

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

      1. Rat's
        @萌新

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

  7. 石古子

    安装完成后,需要进行初始化配置,打开域名会出现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?

  8. 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

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

  9. zymin

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

    1. Rat's
      @zymin

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

  10. lshy

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

    1. Rat's
      @lshy

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