Detailed process of docker installation and deployment of onlyoffice

Time:2021-12-3

0. System requirements

CPU i5-10400f or above

Memory 16 GB, best 32g

The hard disk has at least 40 Gb of free space

1: Install docker desktop

2: Enter BIOS to set CPU virtualization

https://jingyan.baidu.com/article/ab0b56305f2882c15afa7dda.html

3: Start docker desktop

Error reporting solution:https://www.jb51.net/article/214820.htm

3: CMD to install onlyoffice

Install universal:

docker pull hub.c.163.com/gongzh/onlyoffice:latest

function

docker run -i -t -d -p 8702:80 hub.c.163.com/gongzh/onlyoffice

Install community version [free]:

docker run -i -t -d -p 8703:80 –restart=always onlyoffice/documentserver

View the container, enter docker PS,

Enter the container, docker exec – I – t E15 / bin / bash [E15 is the container ID]

Install the Chinese package, onlyoffice Chinese font package, unzip and run docker_ run.sh

4: 123. Rar file is the code to edit word, and onlyoffceexample is the code to accept the file

https://gitee.com/zhuhaos/onlyoffice/repository/archive/master.zip

5: H5 page configuration, [IP address must be used instead of localhost]

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta charset="utf-8" />

    <title></title>

</head>

<body  style="height:900px;">

    <div style="height:880px;"></div>

    <script type="text/javascript" src="https://192.168.1.140:8703/web-apps/apps/api/documents/api.js"></script>

    <script type="text/javascript">

        var config = {

            "editorConfig": {

                "lang": "zh-CN",

                "mode": "edit",

            },

            "document": {

                "fileType": "docx",

                "key": "Khirzs6zTPdfd27",

                "title": "Example Document Title.docx",

                "url": " http://192.168.1.140/1234.docx ", // fill in the URL path of the document here

            },

            "documentType": "text",

            "lang": "zh-CN",

        };

        var docEditor = new DocsAPI.DocEditor("placeholder", config);

    </script>

</body>

</html >

6: The existing problems must use [community version], one is [Chinese font]
7: Automatically save the callback after closing the page


body:{"key":"12NAFE","status":2,"url":"http://192.168.1.140:8702/cache/files/12NAFE_3573/output.docx/output.docx?md5=Ig6ycB-dGH708fuNDt-Tsg==&expires=1623199603&disposition=attachment&ooname=output.docx","changesurl":"http://192.168.1.140:8702/cache/files/12NAFE_3573/changes.zip/changes.zip?md5=asEzUMiPjS5a-17wxp7oPA==&expires=1623199603&disposition=attachment&ooname=output.zip","history":
{"serverVersion":"5.1.3","changes":
[{"created":"2021-06-09 00:16:31","user":
{"id":"uid-1623197783691","name":"Anonymous"
}},
{"created":"2021-06-09 00:16:43","user":
{"id":"uid-1623197795750","name":"Anonymous"
}},{"created":"2021-06-09 00:24:48","user":
{"id":"uid-1623198283436","name":"Anonymous"
}}]},"users":["uid-1623198283436"],"actions":
[{"type":0,"userid":"uid-1623198542944"
}],"lastsave":"2021-06-09T00:27:54.050Z","notmodified":false
}

8: Document receiving key code [general processing procedure]


public void ProcessRequest(HttpContext context)

        {

 

            string body;

            using (var reader = new StreamReader(context.Request.InputStream))

                body = reader.ReadToEnd();

            var fileData = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(body);

            if (fileData != null && fileData["status"].ToString() == "2")

            {

                var req = WebRequest.Create((string)fileData["url"]);

                string PATH_FOR_SAVE = context.Server.MapPath("~/temp/") + DateTime.Now.ToString("yyyyMMddhhmmss") + ".docx";

                using (var stream = req.GetResponse().GetResponseStream())

                using (var fs = File.Open(PATH_FOR_SAVE, FileMode.Create))

                {

                    var buffer = new byte[4096];

                    int readed;

                    while ((readed = stream.Read(buffer, 0, 4096)) != 0)

                        fs.Write(buffer, 0, readed);

                }

            }

            context.Response.Write("{\"error\":0}");

        }

The above is the details of docker deploying onlyoffice. For more information about docker deploying onlyoffice, please pay attention to other related articles of developeppaer!