当前位置:   article > 正文

onlyoffice 工作空间 docker-compose本地化部署_onlyoffice docker-compose

onlyoffice docker-compose

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


onlyoffice 工作空间 docker-compose本地化部署

公司要搭建一个本地化的文档协同工具。
选中了onlyoffice,网上搜了一大堆的资料。
其中集成的方式最简单,只用装onlyoffice-server。
然后使用国产的集成软件集成进去就可以了。
但是…公司希望用原版的onlyoffice工作空间。
然后…
目前发现window server版本的安装最简单,根据官网示例一步一步操作即可。

官方链接:
https://www.onlyoffice.com/zh/download-workspace.aspx#workspace-community

一、Windows系统安装onlyoffice

操作说明官方链接:
链接: https://helpcenter.onlyoffice.com/installation/workspace-install-windows.aspxwindows 下载选取
根据官方说明一步步操作即可,有的地方下载比较慢,需要耐心等待。
这个我第一步就搞成功了,很简单,但是…公司希望使用linux部署…
好吧,继续下一步。


二、Linux系统docker-compose部署onlyoffice

1.安装说明

在这里插入图片描述
基于linux的三种安装方式中,第一种是下载脚本,下载相关镜像本地化部署。
但是操作失败了,不知道什么原因。
可能是有报错pathon的版本不正确。
有报错server-ee安装失败的,反正各种原因,最后启动失败

然后选取docker镜像安装,最终也是失败,原因太多,不赘述了。
反正最后只用下面方式成功了。以下是一些安装步骤,自己记录一下。

首先根据上图官网选取Docker compose点击阅读说明,查看相关安装方式。
下面是操作步骤

2.操作步骤

首先要搞台CentOS服务器,我的版本是7.9的。
安装yum

sudo yum install -y yum-utils
  • 1

设置stable仓库 阿里云的,大家都懂

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1

更新yum软件包索引

yum makecache fast
  • 1

安装docker

yum -y install docker-ce
  • 1

设置docker自启动

systemctl enable docker && systemctl start docker
  • 1

配置docker加速

cat > /etc/docker/daemon.json<<EOF
{
"registry-mirrors": ["https://1o3kv4j3.mirror.aliyuncs.com"]
}
EOF
  • 1
  • 2
  • 3
  • 4
  • 5

重启docker

systemctl daemon-reload && systemctl restart docker
  • 1

安装wget

yum install -y wget
  • 1

安装rpel7数据源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  • 1

更新yum软件包索引

yum makecache fast
  • 1

安装docker-compose

yum install docker-compose -y
  • 1

docker安装完毕后,需要安装git

yum install git
  • 1

这里自己创建一个文件夹下载 Docker-CommunityServer

git clone https://github.com/ONLYOFFICE/Docker-CommunityServer
  • 1

3.安装onlyoffice工作空间

刚刚我们下载的Docker-CommunityServer打开,里面有三个文件
找到其中的docker-compose.workspace.yml
在这里插入图片描述
编辑这个文件,主要是更改一下docker内文件的存放位置,还有 mail的端口。
云服务器的25端口应该是不行,可以改成别的。
文件名也可以改为别的,比如什么workspace.yml的随意。

注意:
hostname: ${MAIL_SERVER_HOSTNAME}
这个字段我也不知道要修改成什么,翻墙去外网看了一下。
应该是本地服务器部署的邮件服务器的域名地址,但是我没有,因此就没改。
然后试了以后,也可以正常运行。

懂得都懂,能运行的程序,就不要管它是怎么运行的了。

如果github连不上,可以直接创建文件夹,手动下载代码包后解压

我的文件贴出来了:

version: '3'
services:
  onlyoffice-mysql-server:
    container_name: onlyoffice-mysql-server
    image: mysql:8.0.29
    environment:
     - MYSQL_ROOT_PASSWORD=my-secret-pw
    networks:
     - onlyoffice
    stdin_open: true
    tty: true
    restart: always
    volumes:
     - ./config/mysql/conf.d:/etc/mysql/conf.d
     - ./config/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
     - mysql_data:/var/lib/mysql
  onlyoffice-community-server:
    container_name: onlyoffice-community-server
    image: onlyoffice/communityserver:12.0.1.1748
    depends_on:
     - onlyoffice-mysql-server
     - onlyoffice-document-server
     - onlyoffice-mail-server
     - onlyoffice-elasticsearch
    environment:
     - ONLYOFFICE_CORE_MACHINEKEY=core_secret
     - CONTROL_PANEL_PORT_80_TCP=80
     - CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel
     - DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server
     - DOCUMENT_SERVER_JWT_ENABLED=true
     - DOCUMENT_SERVER_JWT_SECRET=jwt_secret
     - DOCUMENT_SERVER_JWT_HEADER=AuthorizationJwt
     - MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw
     - MYSQL_SERVER_DB_NAME=onlyoffice
     - MYSQL_SERVER_HOST=onlyoffice-mysql-server
     - MYSQL_SERVER_USER=onlyoffice_user
     - MYSQL_SERVER_PASS=onlyoffice_pass
     - MAIL_SERVER_API_PORT=8081
     - MAIL_SERVER_API_HOST=onlyoffice-mail-server
     - MAIL_SERVER_DB_HOST=onlyoffice-mysql-server
     - MAIL_SERVER_DB_PORT=3306
     - MAIL_SERVER_DB_NAME=onlyoffice_mailserver
     - MAIL_SERVER_DB_USER=mail_admin
     - MAIL_SERVER_DB_PASS=Isadmin123
     - ELASTICSEARCH_SERVER_HOST=onlyoffice-elasticsearch
     - ELASTICSEARCH_SERVER_HTTPPORT=9200
    networks:
     - onlyoffice
    ports:
     - '80:80'
     - '443:443'
     - '5222:5222'
    stdin_open: true
    tty: true
    restart: always
    privileged: true
#    cgroup: host
    volumes:
     - ./onlyoffice-community-server/community_data:/var/www/onlyoffice/Data
     - ./onlyoffice-community-server/community_log:/var/log/onlyoffice
     - ./onlyoffice-community-server/community_letsencrypt:/etc/letsencrypt
     - ./onlyoffice-community-server/document_data:/var/www/onlyoffice/DocumentServerData
     - /sys/fs/cgroup:/sys/fs/cgroup:rw
     - ./certs:/var/www/onlyoffice/Data/certs
  onlyoffice-elasticsearch:
    image: onlyoffice/elasticsearch:7.16.3
    container_name: onlyoffice-elasticsearch
    restart: always
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true"
      - "indices.fielddata.cache.size=30%"
      - "indices.memory.index_buffer_size=30%" 
      - "ingest.geoip.downloader.enabled=false"
    networks:
    - onlyoffice    
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65535
        hard: 65535
    volumes:
      - es_data:/usr/share/elasticsearch/data
    expose:
      - "9200"
      - "9300"
  onlyoffice-document-server:
    container_name: onlyoffice-document-server
    image: onlyoffice/documentserver:7.1.1.23
    stdin_open: true
    tty: true
    restart: always
    environment:
     - JWT_ENABLED=true
     - JWT_SECRET=jwt_secret
     - JWT_HEADER=AuthorizationJwt
    networks:
      - onlyoffice
    expose:
      - '80'
      - '443'
    volumes:
       - ./onlyoffice-document-server/document_data:/var/www/onlyoffice/Data
       - ./onlyoffice-document-server/document_log:/var/log/onlyoffice
       - ./onlyoffice-document-server/document_lib:/var/lib/onlyoffice
       - ./document_fonts:/usr/share/fonts/truetype/custom
       - document_forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten
  onlyoffice-mail-server:
    container_name: onlyoffice-mail-server
    image: onlyoffice/mailserver:1.6.75
    depends_on:
      - onlyoffice-mysql-server
    hostname: ${MAIL_SERVER_HOSTNAME}
    environment:
       - MYSQL_SERVER=onlyoffice-mysql-server
       - MYSQL_SERVER_PORT=3306
       - MYSQL_ROOT_USER=mail_admin
       - MYSQL_ROOT_PASSWD=Isadmin123
       - MYSQL_SERVER_DB_NAME=onlyoffice_mailserver
    networks:
      - onlyoffice
    restart: always
    privileged: true
    ports: ['26:25','143:143','587:587']
    stdin_open: true
    tty: true
    expose:
      - '8081'
      - '3306'
    volumes:
      - mail_data:/var/vmail
      - mail_certs:/etc/pki/tls/mailserver
      - mail_log:/var/log
  onlyoffice-control-panel:
    container_name: onlyoffice-control-panel
    depends_on:
     - onlyoffice-document-server
     - onlyoffice-mail-server
     - onlyoffice-community-server
    image: onlyoffice/controlpanel:3.1.1.467
    environment:
     - ONLYOFFICE_CORE_MACHINEKEY=core_secret
    expose:
      - '80'
      - '443'
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - controlpanel_data:/var/www/onlyoffice/Data
      - controlpanel_log:/var/log/onlyoffice
    networks:
      - onlyoffice
    stdin_open: true
    tty: true
networks:
  onlyoffice:
    driver: 'bridge'
volumes:
  mail_data:
  mail_certs:
  mail_log:
  mail_mysql:
  document_data:
  document_log:
  document_forgotten:
  community_mysql:
  community_data:
  community_log:
  community_letsencrypt:
  controlpanel_data:
  controlpanel_log:
  mysql_data:
  es_data:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177

自此准备工作完毕,下载onlyoffice镜像,
非常简单,只需要一行命令

docker-compose -f workspace.yml up -d
  • 1

这里注意:文件名是 你刚才自己修改后的文件名。
运行文件要放在Docker-CommunityServer目录下再运行命令
在这里插入图片描述

等待安装与启动过程中…
漫长的等待…

在这里插入图片描述
这里就会报错mail的warning,但是不影响后续应用。

在这里插入图片描述
安装完毕,浏览器输入服务器ip地址
在这里插入图片描述
这里等待onlyoffice启动完毕,大概5-10分钟。

在这里插入图片描述
启动完毕。
OK,现在可以按照自己的需要去配置了。


总结

ok。运行成功,这是一个小菜鸡的摸索之路,这么简单的一个东西,用时三天半才安装完毕。
记录一下。如果能够给后面的各位朋友提供一点帮助就更好了。
在这里感谢下面的博主。给我提供了非常大的帮助

链接: @chen3673-----OnlyOffice-WorkSpace在Centos7上搭建
链接: @于无极-----docker-compose 一键部署Nextcloud

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/606938
推荐阅读
相关标签
  

闽ICP备14008679号