如果您并不熟悉 Docker 的命令,请参考docker文档.
从7.0开始,我们调整了seafile-docker 镜像的架构,使用多个容器来运行 Seafile 服务。旧版本的镜像中,除了运行 Seafile 服务本身之外,还负责运行 MariaDB-Server、Memcached 以及 Elasticsearch。现在,我们从 Seafile 镜像中剥离出 MariaDB-Server、Memcached 和 Elasticsearch 服务,并在各自的容器中运行它们。
如果您计划使用 docker 全新部署 Seafile 7.0,请参考部署文档。
如果您计划从 6.3 升级到 7.0,则可以参考升级文档。
运行 Seafile 服务容器:
docker run -d --name seafile \
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
-v /opt/seafile-data:/shared \
-p 80:80 \
docker.seafile.top/seafileltd/seafile-pro:latest
第一次运行会进行初始化,等待几分钟然后通过访问http://seafile.example.com
查看 Seafile 的Web界面.
这条命令会将宿主机上的/opt/seafile-data
目录挂载到 Seafile 容器中,你可以在这里找到日志或其他的数据文件.
如果您已经向 Seafile 软件商购买了专业版的授权文件seafile-license.txt
,您只需要将该授权文件拷贝至/opt/seafile-data/seafile/
目录下,然后重启docker容器,即可完成授权文件的安装。
在您的宿主机上执行执行以下操作:
mkdir -p /opt/seafile-data/seafile/
cp /path/to/seafile-license.txt /opt/seafile-data/seafile/
然后重启这个容器:
docker restart seafile
默认的管理员账号以及密码分别为me@example.com
,asecret
. 你可以通过设置容器的环境变量来改变初始化时生成的管理员的账号和密码.
比如:
docker run -d --name seafile \
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
-e SEAFILE_ADMIN_EMAIL=me@example.com \
-e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \
-v /opt/seafile-data:/shared \
-p 80:80 \
docker.seafile.top/seafileltd/seafile-pro:latest
如果您忘记了管理员密码,你可以添加一个新的管理员账号,然后通过这个新的管理员账号重置之前的管理员密码.
如果您设置SEAFILE_SERVER_LETSENCRYPT
为true
, 那么容器会自动根据设置的主机名向Let's encrypt申请SSL证书
比如:
docker run -d --name seafile \
-e SEAFILE_SERVER_LETSENCRYPT=true \
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
-e SEAFILE_ADMIN_EMAIL=me@example.com \
-e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \
-v /opt/seafile-data:/shared \
-p 80:80 \
-p 443:443 \
docker.seafile.top/seafileltd/seafile-pro:latest
如果你想使用已经拥有的SSL证书:
/opt/seafile-data/ssl
目录, 并将你的证书以及私钥放入这个目录中.seafile.example.com
, 那么您的证书名称必须为seafile.example.com.crt
,而且您的私钥名称必须为seafile.example.com.key
Seafile 服务的配置会存放在/shared/seafile/conf
目录下,你可以根据 Seafile手册 修改配置
修改之后需要重启容器.
docker restart seafile
Seafile 服务的日志会存放在/shared/logs/seafile
目录下, 由于是将/opt/seafile-data
挂载到/shared
,所以同样可以在宿主机上的/opt/seafile-data/logs/seafile
目录下找到.
系统日志会存放在/shared/logs/var-log
目录下.
确保您的容器正在运行,然后输入以下命令:
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh
然后根据提示输入用户名以及密码即可
/shared
共享卷的挂载点,您可以选择在容器外部存储某些持久性信息.在这个项目中,我们会在外部保存各种日志文件和上传目录。 这使您可以轻松重建容器而不会丢失重要信息。
/var/log
挂载到本目录.您可以在shared/logs/var-log/nginx/
中找到nginx的日志文件shared/logs/seafile/seafile.log
文件中看到seaf-server的日志如果您计划从 6.3 升级到 7.0,则可以参考升级文档。
如果您计划升级到 Seafile 6.3 系列的最新版本:
docker pull docker.seafile.top/seafileltd/seafile-pro:latest
docker rm -f seafile
docker run -d --name seafile \
-e SEAFILE_SERVER_LETSENCRYPT=true \
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
-e SEAFILE_ADMIN_EMAIL=me@example.com \
-e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \
-v /opt/seafile-data:/shared \
-p 80:80 \
-p 443:443 \
docker.seafile.top/seafileltd/seafile-pro:latest
如果您是使用launcher
脚本的最先一批用户,您应该参考从旧的结构升级.
如果您在使用的过程中出现问题,您可以运行"docker exec"等docker命令来寻找更多的错误信息.
docker exec -it seafile /bin/bash
Last modified by Daniel Pan, 2019-06-19