Detailed process of installing and deploying onlyoffice in docker

Detailed process of installing and deploying onlyoffice in docker

0. System requirements

CPU I5-10400F or above

Memory 16 GB, 32 GB memory is best

At least 40 GB of free space on your hard drive

1: Install Docker Desktop

2: Enter BIOS to set CPU virtualization

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

3: Start Docker desktop

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

3: Enter cmd and use the command to install onlyoffice

Install the universal version:

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

run

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

Install the community version [free]:

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

To 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 for editing word, onlyoffceExample is the code for accepting files

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

5: H5 page configuration, [must use IP address 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 id="placeholder" style="height:880px;"></div>

    <script type="text/javascript" src="http://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 document URL path here},

            "documentType": "text",

            "lang": "zh-CN",

        };

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

    </script>

</body>

</html>

6: The existing problem must use the [Community Version], one is [Chinese font]
7: After closing the page, the callback is automatically saved.

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: File 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 deployment of onlyoffice. For more information about docker deployment of onlyoffice, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • Ubuntu Docker installation, deployment and simple application
  • Docker installation and deployment on CentOS7 system and basic tutorial
  • Detailed explanation of the construction and use of Docker private warehouse
  • Detailed explanation of CentOS 7: Docker private warehouse construction and use
  • Detailed steps to build a Docker Registry private warehouse
  • Docker basic commands from installation to application deployment and private warehouse construction

<<:  The benefits and examples of placing the site map at the bottom of the web page

>>:  Pure CSS to add style to select (no script) implementation

Recommend

Detailed explanation of CSS3 rotating cube problem

3D coordinate concept When an element rotates, it...

Linux system repair mode (single user mode)

Table of contents Preface 1. Common bug fixes in ...

Tutorial on migrating mysql from phpstudy to Linux

Project Purpose Migrate the data in MySQL 5.5.53 ...

A brief discussion on group by in MySQL

Table of contents 1. Introduction 2. Prepare the ...

Detailed explanation of styles in uni-app

Table of contents Styles in uni-app Summarize Sty...

Linux service monitoring and operation and maintenance

Table of contents 1. Install the psutil package S...

Vue.js implements simple timer function

This article example shares the specific code of ...

Detailed explanation of basic syntax and data types of JavaScript

Table of contents Importing JavaScript 1. Interna...

An article teaches you JS function inheritance

Table of contents 1. Introduction: 2. Prototype c...

MySql development of automatic synchronization table structure

Development Pain Points During the development pr...

Steps to export the fields and related attributes of MySQL tables

Need to export the fields and properties of the t...