onlyoffice document docker版安装使用总结

注意:本文的例子是在windows2019下操作的,并经过确认。

docker的安装

1 安装docker,首先开启硬件bios虚拟项,安装hy wsl(windows子系统)。
2 安装docker desktop
3 docker desktop 容器引擎选择linux。

容器镜像的安装

1 portainerUI 的安装 ,使用portainer来管理容器

docker run -d --name portainerUI -p 9090:9000  --restart=always -v \.pipedocker_engine:\.pipedocker_engine portainer/portainer 
docker run -d --name portainerUI -p 9090:9000 -v "/var/run/docker.sock:/var/run/docker.sock"  portainer/portainer #linux系统

2 创建网络

在portainerUI中,创建名为mynet的网络,类型为bridge。网关为 172.20.10.11 ,子网掩码 172.20.0.0/16 ,范围内172.20.10.28/25 。
具体可根据实际情况设置。

3 安装redis redis的服务器地址为172.20.10.9 ,也可以根据容器名访问。 ping 容器名和ip试试。

docker run --name some-redis --restart=always --net mynet --ip 172.20.10.9   -d redis 

4 安装rabbitmq 地址为172.20.10.8

docker run --name some-rabbitmq --restart=always --net mynet --ip 172.20.10.8     -d rabbitmq 

5 安装postgresql 地址为172.20.10.1

docker run --name some-postgres --restart=always -p 5432:5432 --net mynet --ip 172.20.10.1     -e POSTGRES_PASSWORD=mypassword -d postgres

登录数据库

CREATE DATABASE onlyoffice #创建数据库
CREATE USER onlyoffice WITH password 'onlyoffice' #创建账号
GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice #设置账号和数据库的关联权限

6 安装 onlyoffice 选择合适的镜像 alehoho/oo-ce-docker-license

docker run  --name=onlyoffice  --restart=always  --detach --publish=8033:80 --net mynet --ip 172.20.10.5 -e LANGUAGE=zh_CN:zh -e JWT_ENABLED=true -e JWT_IN_BODY=true -e JWT_SECRET=secret -e DB_TYPE=postgres -e DB_HOST=172.20.10.1 -e DB_PORT=5432 -e DB_NAME=onlyoffice -e DB_USER=onlyoffice  -e DB_PWD=onlyoffice -e AMQP_URI=amqp://guest:guest@172.20.10.8:5672 -e REDIS_SERVER_HOST=172.20.10.9 -e REDIS_SERVER_PORT=6379  alehoho/oo-ce-docker-license

特别要注意的是:-e JWT_SECRET=secret 这个是秘钥,不要暴露给别人知道。 变量的配置文件在容器中的位置/etc/onlyoffice/documentserver/local.json
这个秘钥的值,要和实例代码配置中的值对应。 如果不设置jwt的验证功能(环境变量 JWT_ENABLED JWT_IN_BODY JWT_SECRET 都不设,且代码settings.config文件中的files.docservice.secret为空)则不进行身份验证

7 c#的实例代码 https://files.cnblogs.com/files/wang2650/onlyofficeNet.zip 。其他语言的可以去官网去找。
需要注意的是,实例(包括官网2020年12月的例子),都有个问题:在文档编辑页面,点击文件-版本历史 的时候,会报错。网上的文章说要在代码的gethistrory中加token ,还要加跨域。最后我也没试成功,参考文章 https://segmentfault.com/a/1190000038221508
版本历史的那个功能,直接隐藏。 有知道的,可以告诉我下,留言私信都可以,谢谢。

原文地址:https://www.cnblogs.com/wang2650/p/14281950.html