onlyoffice 部署及问题解决方案

1,015 阅读2分钟

docker 部署 社区版本

1、docker 镜像源加速配置

vi /etc/docker/daemon.json
    {

        "registry-mirrors": [
        "https://docker.m.daocloud.io","https://docker.1ms.run"

        ]

    }

2、启动容器服务

docker run --name mydoc -d -p 59527:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/opt/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/opt/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/opt/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/opt/lib/postgresql -e  JWT_ENABLED=false  onlyoffice/documentserver

3、容器启动后开启测试用例

sudo docker exec 7c14d6b98e38 sudo supervisorctl start ds:example 
sudo docker exec 7c14d6b98e38 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf

4、取消IP限制,解决下载失败问题

# 拉取 default.json 到本地
docker cp 容器Id:/etc/onlyoffice/documentserver/default.json ./
# 编辑
vi default.json
# 修改取消ip限制
"request-filtering-agent" : {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
}
# 推送到容器中
docker cp default.json 容器Id:/etc/onlyoffice/documentserver/default.json

# 重启容器
docker restart 1c8714b1f836


5、修改加载文件大小限制

#!/usr/bin/env bash

sed -i -e 's/104857600/10485760000/g' /etc/onlyoffice/documentserver-example/production-linux.json

sed -i '9iclient_max_body_size 1000M;' /etc/onlyoffice/documentserver-example/nginx/includes/ds-example.conf
sed -i '16iclient_max_body_size 1000M;' /etc/nginx/nginx.conf

sed -i -e 's/104857600/10485760000/g' /etc/onlyoffice/documentserver/default.json
sed -i -e 's/50MB/5000MB/g' /etc/onlyoffice/documentserver/default.json
sed -i -e 's/300MB/3000MB/g' /etc/onlyoffice/documentserver/default.json

service nginx restart
supervisorctl restart all

6、更新文档字体库

  • 1、清除字体包
    # 进入onlyOffice容器
    docker exec -it onlyoffice /bin/bash

    # 找到字体包目录
    cd /var/www/onlyoffice/documentserver/core-fonts
    # 删除所有字体库
    rm -rf *
    # 进入字体缓存目录
    cd /var/www/onlyoffice/documentserver/fonts
    # 删除所有缓存
    rm -rf *

    # 删除其它目录字体库
    cd /usr/share/fonts
    
  • 2、导入字体包
    # 退出容器,把导入到Linux系统的字体包拷贝到容器
    docker cp fonts.tar onlyoffice:/usr/share/fonts/

    # 进入容器
    docker exec -it onlyoffice /bin/bash

    # 进入字体包目录
    cd /usr/share/fonts
    # 解压字体包
    tar -xf fonts.tar
    mv fonts/* ./

    # 最后让onlyOffice加载字体缓存即可
    /usr/bin/documentserver-generate-allfonts.sh

  • 3、清除浏览器缓存 ( CTRL + F5 )