百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

群晖DSM7.2 Docker部署seafile12专业版+seadoc+onlyoffice8.1

wptr33 2025-05-22 14:11 15 浏览

前言

之前我们已经成功在群晖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文档进行打开、编辑测试

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...