前言
之前我们已经成功在群晖DSM7.2上docker部署了seafile11专业版+onlyoffice7.1,现在seafile12专业版已经发布,并且自带自家的seadoc,那么我们本次就演示如何在群晖DSM7.2上docker部署seafile12专业版+seadoc+onlyoffice8.1(onlyoffice从7.2版本开始强制启用JWT令牌,所以特别注意需要配置该项)。
注:建议内存至少6G
部署seafile12专业版
1、套件中心—搜索并安装container manager
2、开启SSH访问:控制面板—终端机和SNMP—启用SSH功能,端口默认22,为了安全建议更改
3、解决Docker镜像拉取失败问题:
container manager—注册表—设置—选中“docker hub(V1)”—编辑—启用注册表镜像—新增如下4条地址:
https://docker.m.daocloud.io
https://docker.shootchat.top
https://do.nark.eu.org
https://noohub.ru
4、创建持久化目录:在群晖后台Filestation—docker目录下创建如下文件夹:
seafile-data、seafile-mysql/db、
seafile-elasticsearch/data、seadoc-data、seafile-caddy;以及seafile,该文件夹用于存放所需的配置文件
5、使用ssh工具(比如xshell)登录到群晖终端,sudo -i获取root权限
6、进入seafile目录:cd /volume1/docker/seafile
7、使用pwgen生成随机密钥并保存好:pwgen -s 40 1
注:该密钥可用于seafile的.env配置文件和onlyoffice使用
uZHgHLgJ9F2r2rIt7Fr5SLyb2c7HelLIVXVySUSs
8、下载seafile12版本所需的4个配置文件
wget -O .env https://manual.seafile.com/12.0/repo/docker/pro/env
wget https://manual.seafile.com/12.0/repo/docker/seadoc.yml
wget https://manual.seafile.com/12.0/repo/docker/pro/seafile-server.yml
wget https://manual.seafile.com/12.0/repo/docker/caddy.yml
9、编辑配置文件caddy.yml,设置自定义端口号,80和443都需要改:
10、编辑配置文件.env
注意:每个镜像前面都要加上:
docker.seafile.top/seafileltd,如下:
SEAFILE_IMAGE=docker.seafile.top/seafileltd/seafile-pro-mc:12.0-latest
SEAFILE_DB_IMAGE=docker.seafile.top/seafileltd/mariadb:10.11
SEAFILE_MEMCACHED_IMAGE=docker.seafile.top/seafileltd/memcached:1.6.29
SEAFILE_ELASTICSEARCH_IMAGE=docker.seafile.top/seafileltd/elasticsearch:8.15.0
SEAFILE_CADDY_IMAGE=docker.seafile.top/seafileltd/caddy-docker-proxy:2.9
注1:SEAFILE_SERVER_HOSTNAME需加端口号:
注2:对于新增加的seadoc,镜像前面也要加上:docker.seafile.top/
注3:所有/opt路径都要替换成/volume1/docker,截图中是Ubuntu系统的,和群晖路径有区别
11、启动docker容器,执行docker compose命令,拉取相关镜像:
docker-compose -f seafile-server.yml -f caddy.yml -f seadoc.yml --env-file .env up -d
12、给予elasticsearch映射路径777权限,(seafile专业版使用elasticsearch进行检索,10分钟更新一次):
chmod 777 -R /volume1/docker/seafile-elasticsearch/data
部署onlyoffice8.1
1、此处监听端口可自定义,比如设置为9002:
(1)拉取镜像:docker pull
onlyoffice/documentserver:8.1
或者使用xftp上传onlyoffice离线镜像,然后导入docker:
docker load -i onlyoffice-documentserver-8-1.tar
(2)启动容器(其中JWT_SECRET后面跟的是前面生成的密钥,一定要设置):
sudo docker run -i -t -d -p 9002:80 --restart=always
-e JWT_SECRET=uZHgHLgJ9F2r2rIt7Fr5SLyb2c7HelLIVXVySUSs onlyoffice/documentserver:8.1
2、完成后,地址栏输入IP或域名+9002,出现如下图则表明成功
3、编辑
/volume1/docker/seafile-data/seafile/conf/seahub_settings.py,在文末添加如下:
注:其中“服务器地址:端口”改成自己的IP地址或者域名+端口,ONLYOFFICE_JWT_SECRET后面则是跟前面生成的密钥
vim /volume1/docker/seafile-data/seafile/conf/seahub_settings.py
ENABLE_ONLYOFFICE = True
ONLYOFFICE_APIJS_URL = 'http://服务器地址:端口
/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods', 'csv', 'ppsx', 'pps')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods', 'csv', 'ppsx', 'pps')
ONLYOFFICE_JWT_SECRET = 'uZHgHLgJ9F2r2rIt7Fr5SLyb2c7HelLIVXVySUSs'
4、container manager—容器—可停止相关容器,然后设置为“启用自动重新启动”,再启动容器。这样如果重启了服务器,相关容器会随机启动。
5、重启seafile服务
docker-compose -f seafile-server.yml -f caddy.yml -f seadoc.yml --env-file .env down
docker-compose -f seafile-server.yml -f caddy.yml -f seadoc.yml --env-file .env up -d
验证
输入IP或域名+端口号登录,新建或上传office文档进行打开、编辑测试