Documentation for local.json doesn't match the generated local.json

I’m trying to get ONLYOFFICE Documentserver installed using the Debian package working with Nextcloud and I’m currently failing and while trying to debug this issue I have noticed that the documentation has this example local.json:

{
    "services": {
        "CoAuthoring": {
            "secret": {
                "browser": {
                    "string": "secret"
                },
                "inbox": {
                    "string": "secret"
                },
                "outbox": {
                    "string": "secret"
                },
            },
            "token": {
                "enable": {
                    "browser": true,
                    "request": {
                        "inbox": true,
                        "outbox": true
                    }
                }
            }
        }
    }
}

Which is invalid, if the syntax error is fixed the result is:

{
  "services": {
    "CoAuthoring": {
      "secret": {
        "browser": {
          "string": "secret"
        },
        "inbox": {
          "string": "secret"
        },
        "outbox": {
          "string": "secret"
        }
      },
      "token": {
        "enable": {
          "browser": true,
          "request": {
            "inbox": true,
            "outbox": true
          }
        }
      }
    }
  }
}

This doesn’t match what I have at /etc/onlyoffice/documentserver/local.json (omitting the PostgreSQL and RabbitMQ setings):

{
  "services": {
    "CoAuthoring": {
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        },
        "inbox": {
          "header": "Authorization"
        },
        "outbox": {
          "header": "Authorization"
        }
      },
      "secret": {
        "inbox": {
          "string": "secret"
        },
        "outbox": {
          "string": "secret"
        },
        "session": {
          "string": "secret"
        }
      }
    }
  },
  "storage": {
    "fs": {
      "secretString": "storage_secret"
    }
  }
}

The differences are:

  1. The documentation has browser and I have session — is this a mistake in the documentation or the local.json I have or is not simply something that doesn’t matter?
  2. The documentation doesn’t have the header, should I assume this was omitted for brevity and having it is not an issue?

Incidently the same page also references supervisorctl restart all — this should be updated due to the update to use systemd?

Following the suggestion here I ran documentserver-update-securelink.sh with the “secret” as the only argument and this resulted in the local.json being updated as follows (again I have omitted the RabbitMQ, PostgreSQL and storage sections):

{
  "services": {
    "CoAuthoring": {
      "secret": {
        "browser": {
          "header": "Authorization",
          "string": "secret"
        },
        "inbox": {
          "header": "Authorization",
          "string": "secret"
        },
        "outbox": {
          "header": "Authorization",
          "string": "secret"
        }
      },
      "token": {
        "enable": {
          "browser": true,
          "request": {
            "inbox": true,
            "outbox": true
          }
        }
      }
    }
  }
}

Personally I find JSON hard to read, so converting it into YAML, these are the updated setting that fixed the 403 Forbidden error:

services:
  CoAuthoring:
    secret:
      browser:
        header: Authorization
        string: secret
      inbox:
        header: Authorization
        string: secret
      outbox:
        header: Authorization
        string: secret
    token:
      enable:
        browser: true
        request:
          inbox: true
          outbox: true

And this is what I had prior:

services:
  CoAuthoring:
    token:
      enable:
        request:
          inbox: true
          outbox: true
        browser: true
      inbox:
        header: Authorization
      outbox:
        header: Authorization
    secret:
      inbox:
        string: secret
      outbox:
        string: secret
      session:
        string: secret

The above, plus using the “storage_secret” from /etc/onlyoffice/documentserver/local.json:

} 
  "storage": {
    "fs": {
      "secretString": "storage_secret"
    }
  }
}

As the value for the $secure_link_secret in the /etc/onlyoffice/documentserver/nginx/ds.conf file:

  set $secure_link_secret "storage_secret";

Has fixed the connection between Nextcloud and ONLYOFFICE for me.

1 Like

Hello, @chris

1. Extra comma in Sample local.json configuration
2. The documentation has `browser` and I have `session` — is this a mistake in the documentation or the `local.json` I have or is not simply something that doesn’t matter?
3. Incidently the same page also references **supervisorctl restart all** — this should be updated due to the update to use **systemd**?

services.CoAuthoring.secret.browser.string - is no longer relevant .
Now → services.CoAuthoring.secret.session.string.

I have transmitted information on these inaccuracies
(outdated information).

4. The documentation doesn’t have the `header`, should I assume this was omitted for brevity and having it is not an issue?

I didn’t quite understand what you meant.

1 Like

Thanks @Nikolas, sorry for the confusion, the example local.json here doesn’t contain:

{
"header": "Authorization"
}

And the /usr/bin/documentserver-jwt-status.sh script contains:

                JWT_HEADER=$($JSON "services.CoAuthoring.token.inbox.header")

Would it be possible to provide an example local.json the also includes the header field?

Although ONLYOFFICE / Nextcloud intergration appear to be working when I run documentserver-jwt-status.sh I get:

Your JWT settings:
JWT enabled -  true
JWT secret  -  tWFyIXJshYr2fM6cFB9w7jajelOWyWf
JWT header  - 

So it appears I don’t have the HTTP authorization header properly configured?

{
  "services": {
    "CoAuthoring": {
      "sql": {
        "type": "postgres",
        "dbHost": "localhost",
        "dbPort": "5432",
        "dbName": "onlyoffice",
        "dbUser": "onlyoffice",
        "dbPass": "onlyoffice"
      },
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        },
        "inbox": {
          "header": "AuthorizationJwt"
        },
        "outbox": {
          "header": "AuthorizationJwt"
        }
      },
      "secret": {
        "inbox": {
          "string": "string"
        },
        "outbox": {
          "string": "string"
        },
        "session": {
          "string": "string"
        }
      }
    }
  },
  "rabbitmq": {
    "url": "amqp://guest:guest@localhost"
  },
  "storage": {
    "fs": {
      "secretString": "secret-secret"
    }
  }
}

this is an example

1 Like

Thanks very much ! It is worked for me !

1 Like

Has the format /default value of local.json changed with the release of ONLYOFFICE 8.1.0, could you post an example / default version of the file if it has? Thanks!

@chris :wave:
Here is an example of the local.json file for (packages) deployment of ONLYOFFICE Docs.

{
  "services": {
    "CoAuthoring": {
      "sql": {
        "type": "postgres",
        "dbHost": "localhost",
        "dbPort": "5432",
        "dbName": "onlyoffice",
        "dbUser": "onlyoffice",
        "dbPass": "onlyoffice"
      },
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        },
        "inbox": {
          "header": "AuthorizationJwt"
        },
        "outbox": {
          "header": "AuthorizationJwt"
        }
      },
      "secret": {
        "inbox": {
          "string": "HP7ewmVAOM2PBvrXUW3E9dmgub7UsU13"
        },
        "outbox": {
          "string": "HP7ewmVAOM2PBvrXUW3E9dmgub7UsU13"
        },
        "session": {
          "string": "HP7ewmVAOM2PBvrXUW3E9dmgub7UsU13"
        }
      }
    }
  },
  "rabbitmq": {
    "url": "amqp://guest:guest@localhost"
  },
  "wopi": {
    "enable": false,
    "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCiw00ViC95YhZS\nQjD4vw4z4x2+vz4YHW//GSfBsx4nQRzvQ0i/IQLcn8rqBvXEqJtMLiFndE7c4W+Q\nx2cxmk1/7mwyBXavC4k1DWkZwWjbB>    "privateKeyOld": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCiw00ViC95YhZS\nQjD4vw4z4x2+vz4YHW//GSfBsx4nQRzvQ0i/IQLcn8rqBvXEqJtMLiFndE7c4W+Q\nx2cxmk1/7mwyBXavC4k1DWkZwW>    "publicKey": "BgIAAACkAABSU0ExAAgAAAEAAQBtptc5ZAF9a6A4nAre2H+rDm1/6++OgZUaj0XKtRaM5BrfhZzY6fRFH6Pk36XfNOtpFYJv9hRo4S5u3X0R4On0bk3VbqNgBdaSP+hdBvZdko61Aa/T5oxDoxi44cBHV6sA/diakHnUrADNEF24dL1TmMQFytym021V2cP>    "publicKeyOld": "BgIAAACkAABSU0ExAAgAAAEAAQBtptc5ZAF9a6A4nAre2H+rDm1/6++OgZUaj0XKtRaM5BrfhZzY6fRFH6Pk36XfNOtpFYJv9hRo4S5u3X0R4On0bk3VbqNgBdaSP+hdBvZdko61Aa/T5oxDoxi44cBHV6sA/diakHnUrADNEF24dL1TmMQFytym021V>    "modulus": "A2C34D15882F796216524230F8BF0E33E31DBEBF3E181D6FFF1927C1B31E27411CEF4348BF2102DC9FCAEA06F5C4A89B4C2E2167744EDCE16F90C767319A4D7FEE6C320576AF0B89350D6919C168DB0573936535B53033899A5EEC24266808CB9>    "modulusOld": "A2C34D15882F796216524230F8BF0E33E31DBEBF3E181D6FFF1927C1B31E27411CEF4348BF2102DC9FCAEA06F5C4A89B4C2E2167744EDCE16F90C767319A4D7FEE6C320576AF0B89350D6919C168DB0573936535B53033899A5EEC24266808>    "exponent": 65537,
    "exponentOld": 65537
  },
  "storage": {
    "fs": {
      "secretString": "ejSXaJxxfk4FeNKwfb3r"
    }
  }
}
1 Like

That’s great, thanks @Nikolas — I was checking as I’ve been updating the ONLYOFFICE Ansible role I’ve written, one thing I have noticed is an additional server element:

{
  "services": {
    "CoAuthoring": {
      "server": {
        "port": "8000"
      }
  }
}

Is this to be expected as well?

1 Like

Hey @chris :saluting_face:

services.CoAuthoring.server.port - This parameter specifies the server port.

Default: 8000

For more detailed information about the parameters in default.json , please refer to the following link: Configuring Parameters - ONLYOFFICE Documentation

Here is an example of the default.json (8.1.0) file for (packages) deployment of ONLYOFFICE Docs.
Additionally, don’t forget to review the Introduction on that page for a comprehensive understanding.


{
        "statsd": {
                "useMetrics": false,
                "host": "localhost",
                "port": "8125",
                "prefix": "ds."
        },
        "log": {
                "filePath": "",
                "options": {
                        "replaceConsole": true
                }
        },
        "queue": {
                "type": "rabbitmq",
                "visibilityTimeout": 300,
                "retentionPeriod": 900
        },
        "storage": {
                "name": "storage-fs",
                "fs": {
                        "folderPath": "",
                        "urlExpires": 900,
                        "secretString": "verysecretstring"
                },
                "region": "",
                "endpoint": "http://localhost/s3",
                "bucketName": "cache",
                "storageFolderName": "files",
                "cacheFolderName": "data",
                "urlExpires": 604800,
                "accessKeyId": "AKID",
                "secretAccessKey": "SECRET",
                "sslEnabled": false,
                "s3ForcePathStyle": true,
                "externalHost": ""
        },
        "persistentStorage": {
        },
        "rabbitmq": {
                "url": "amqp://guest:guest@localhost:5672",
                "socketOptions": {},
                "exchangepubsub": "ds.pubsub",
                "queueconverttask": "ds.converttask",
                "queueconvertresponse": "ds.convertresponse",
                "exchangeconvertdead": "ds.exchangeconvertdead",
                "queueconvertdead": "ds.convertdead",
                "queuedelayed": "ds.delayed"
        },
        "activemq": {
                "connectOptions": {
                        "port": 5672,
                        "host": "localhost",
                        "reconnect": false
                },
                "queueconverttask": "ds.converttask",
                "queueconvertresponse": "ds.convertresponse",
                "queueconvertdead": "ActiveMQ.DLQ",
                "queuedelayed": "ds.delayed",
                "topicpubsub": "ds.pubsub"
        },
        "dnscache": {
                "enable" : true,
                "ttl" : 300,
                "cachesize" : 1000
        },
        "openpgpjs": {
                "config": {
                },
                "encrypt": {
                        "passwords": ["verysecretstring"]
                },
                "decrypt": {
                        "passwords": ["verysecretstring"]
                }
        },
        "bottleneck": {
                "getChanges": {
                }
        },
        "wopi": {
                "enable": false,
                "host" : "",
                "htmlTemplate" : "../../web-apps/apps/api/wopi",
                "wopiZone" : "external-http",
                "favIconUrlWord" : "/web-apps/apps/documenteditor/main/resources/img/favicon.ico",
                "favIconUrlCell" : "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico",
                "favIconUrlSlide" : "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico",
                "favIconUrlPdf" : "/web-apps/apps/pdfeditor/main/resources/img/favicon.ico",
                "fileInfoBlockList" : ["FileUrl"],
                "pdfView": ["djvu", "xps", "oxps"],
                "pdfEdit": ["pdf"],
                "forms": ["pdf"],
                "wordView": ["doc", "dotx", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt", "docxf", "oform"],
                "wordEdit": ["docx", "docm", "odt", "txt"],
                "cellView": ["xls", "xlsb", "xltx", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett"],
                "cellEdit": ["xlsx", "xlsm", "ods", "csv"],
                "slideView": ["ppt", "ppsx", "ppsm", "pps", "potx", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt"],
                "slideEdit": ["pptx", "pptm", "odp"],
                "publicKey": "BgIAAACkAABSU0ExAAgAAAEAAQBpTpiJQ2hD8plpGTfEEmcq4IKyr31HikXpuVSBraMfqyodn2PGXBJ3daNSmdPOc0Nz4HO9Auljn8YYXDPBdpiABptSKvEDPF23Q+Qytg0+vCRyondyBcW91w7KLzXce3fnk8ZfJ8QtbZPL9m11wJIWZueQF+l0HKYx4lty+nccbCanytFTADkGQ3SnmExGEF3rBz6I9+OcrDDK9NKPJgEmCiuyei/d4XbPgKls3EIG0h38X5mVF2VytfWm2Yu850B6z3N4MYhj4b4vsYT62zEC4pMRUeb8dIBy4Jsmr3avtmeO00MUH6DVyPC8nirixj2YIOPKk13CdVqGDSXA3cvl",
                "modulus": "E5CBDDC0250D865A75C25D93CAE320983DC6E22A9EBCF0C8D5A01F1443D38E67B6AF76AF269BE0728074FCE6511193E20231DBFA84B12FBEE16388317873CF7A40E7BC8BD9A6F5B572651795995FFC1DD20642DC6CA980CF76E1DD2F7AB22B0A2601268FD2F4CA30AC9CE3F7883E07EB5D10464C98A7744306390053D1CAA7266C1C77FA725BE231A61C74E91790E7661692C0756DF6CB936D2DC4275FC693E7777BDC352FCA0ED7BDC5057277A27224BC3E0DB632E443B75D3C03F12A529B06809876C1335C18C69F63E902BD73E0734373CED39952A37577125CC6639F1D2AAB1FA3AD8154B9E9458A477DAFB282E02A6712C437196999F243684389984E69",
                "exponent": 65537,
                "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDly93AJQ2GWnXC\nXZPK4yCYPcbiKp688MjVoB8UQ9OOZ7avdq8mm+BygHT85lERk+ICMdv6hLEvvuFj\niDF4c896QOe8i9mm9bVyZReVmV/8HdIGQtxsqYDPduHdL3qyKwomASaP0vTKMKyc\n4/eIPgfrXRBGTJindEMGOQBT0cqnJmwcd/pyW+Ixphx06ReQ52YWksB1bfbLk20t\nxCdfxpPnd3vcNS/KDte9xQVyd6JyJLw+DbYy5EO3XTwD8SpSmwaAmHbBM1wYxp9j\n6QK9c+BzQ3PO05lSo3V3ElzGY58dKqsfo62BVLnpRYpHfa+yguAqZxLENxlpmfJD\naEOJmE5pAgMBAAECggEALiL+RKOr0Xu8BOgQ0j1DwA03LxVrhXe6etmJI+JySTcd\ngKENjWziZVrRIi2DvUm5qMMl7WhSwslKK1eexxZJY7xASqSxcEoIwgz17T07/jxm\nfIdUBiUKDZ1Kv8PWmIr3oKW+fkXWi/m1zlIe0qXRpTmsGNEsHQLEqi0rmaiXTXOR\n/2Ldwi6kZR3sWFx97YS4Mx/pueGJTXEai6AVEZzN5Gog6xD8HXR1Rvq+hhd+MocG\nfnU4HgilKRfoJlWd9FOscgSufKG0L3ViO4fSKU46l5aullDYUk5ECMWiwuKSqSE7\nqD45jI3mbOre7S4u3S3TWdD3lzwiXL49LdwKlEC4mQKBgQD0sLr0GH4Wr+QX2xJE\nuA/Cb8QW41l8iSCBTRZZR/sJOd+o3rbcVidlzO/EbZblXG4ZPDmRjgBCGKIP5EZi\n0DsL+Wv32WOo44LpxJGhqExbm0H1iZ1zZ97l0P8fvIhHE42gmaLToOIGDhPSXGvv\nzlqOHbGbq4jsERc1jp1bej5q6wKBgQDwaueIc4pRchH98QYidcyr8Vwg9KhbnfYX\ny3W4RPlZtBdF34iJaio+ASzugo/zy1RTcVrsCskYWXyKDUQz1yu0iCng+fDCUnTm\nXGmEoEGNhk4vTJOt7hBav1/Ja/dUipGf6mXUuanwJ0e+1/Et/B0ah5X1Um5AyNZI\nM+SyRz3u+wKBgQCjvtUNXoqaghCBCmB6TjZ1prexnWkYFugCv2SSUMIk1W7gIlJ6\ntsjcrj1R1Qii6qzfBFd+GWoA0V06h0e2/qRVCg//p6GytrW33IycgvS+ZPLJ7tLI\nFR2r66WfRlpoPiSL8eRt/P7kkG0hXCn7K7ub2TEu/Ka/W1yNwad6PR8iCwKBgQC8\nXcZSrtQsxAc8w99emJVoEo9wcsCGJ9ltA0iUu9XyZpvlbyJ3J+s48YrWxQ0sop7L\nUgE+96Rfo51kPMi3JVtk81p8ntf4KMrWwokaFMXHsPcJMCJ1IBVIRLE0C5eZcYhv\nlyN57I4tT1lzOZYJxYK4Cot/zrn7oF/j6mTBGfh4iQKBgQCiJMUxRz01/czH/XSX\ngo3dVbHQ4FEOufWnE3Eb93S8r0/eq1RM118rb0TqzuiadW2xYDU4nucWQlrlmq0d\nFY/m+Hy97pqyk6jmoU5I/D+ssBIoYHWLnH9/xfvDEk2JGSJSHtzu0D4EDC/rgQ49\nMbYsO5oUrF8tPlhj5vzbf3GKLA==\n-----END PRIVATE KEY-----\n",
                "publicKeyOld": "BgIAAACkAABSU0ExAAgAAAEAAQBpTpiJQ2hD8plpGTfEEmcq4IKyr31HikXpuVSBraMfqyodn2PGXBJ3daNSmdPOc0Nz4HO9Auljn8YYXDPBdpiABptSKvEDPF23Q+Qytg0+vCRyondyBcW91w7KLzXce3fnk8ZfJ8QtbZPL9m11wJIWZueQF+l0HKYx4lty+nccbCanytFTADkGQ3SnmExGEF3rBz6I9+OcrDDK9NKPJgEmCiuyei/d4XbPgKls3EIG0h38X5mVF2VytfWm2Yu850B6z3N4MYhj4b4vsYT62zEC4pMRUeb8dIBy4Jsmr3avtmeO00MUH6DVyPC8nirixj2YIOPKk13CdVqGDSXA3cvl",
                "modulusOld": "E5CBDDC0250D865A75C25D93CAE320983DC6E22A9EBCF0C8D5A01F1443D38E67B6AF76AF269BE0728074FCE6511193E20231DBFA84B12FBEE16388317873CF7A40E7BC8BD9A6F5B572651795995FFC1DD20642DC6CA980CF76E1DD2F7AB22B0A2601268FD2F4CA30AC9CE3F7883E07EB5D10464C98A7744306390053D1CAA7266C1C77FA725BE231A61C74E91790E7661692C0756DF6CB936D2DC4275FC693E7777BDC352FCA0ED7BDC5057277A27224BC3E0DB632E443B75D3C03F12A529B06809876C1335C18C69F63E902BD73E0734373CED39952A37577125CC6639F1D2AAB1FA3AD8154B9E9458A477DAFB282E02A6712C437196999F243684389984E69",
                "exponentOld": 65537,
                "privateKeyOld": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDly93AJQ2GWnXC\nXZPK4yCYPcbiKp688MjVoB8UQ9OOZ7avdq8mm+BygHT85lERk+ICMdv6hLEvvuFj\niDF4c896QOe8i9mm9bVyZReVmV/8HdIGQtxsqYDPduHdL3qyKwomASaP0vTKMKyc\n4/eIPgfrXRBGTJindEMGOQBT0cqnJmwcd/pyW+Ixphx06ReQ52YWksB1bfbLk20t\nxCdfxpPnd3vcNS/KDte9xQVyd6JyJLw+DbYy5EO3XTwD8SpSmwaAmHbBM1wYxp9j\n6QK9c+BzQ3PO05lSo3V3ElzGY58dKqsfo62BVLnpRYpHfa+yguAqZxLENxlpmfJD\naEOJmE5pAgMBAAECggEALiL+RKOr0Xu8BOgQ0j1DwA03LxVrhXe6etmJI+JySTcd\ngKENjWziZVrRIi2DvUm5qMMl7WhSwslKK1eexxZJY7xASqSxcEoIwgz17T07/jxm\nfIdUBiUKDZ1Kv8PWmIr3oKW+fkXWi/m1zlIe0qXRpTmsGNEsHQLEqi0rmaiXTXOR\n/2Ldwi6kZR3sWFx97YS4Mx/pueGJTXEai6AVEZzN5Gog6xD8HXR1Rvq+hhd+MocG\nfnU4HgilKRfoJlWd9FOscgSufKG0L3ViO4fSKU46l5aullDYUk5ECMWiwuKSqSE7\nqD45jI3mbOre7S4u3S3TWdD3lzwiXL49LdwKlEC4mQKBgQD0sLr0GH4Wr+QX2xJE\nuA/Cb8QW41l8iSCBTRZZR/sJOd+o3rbcVidlzO/EbZblXG4ZPDmRjgBCGKIP5EZi\n0DsL+Wv32WOo44LpxJGhqExbm0H1iZ1zZ97l0P8fvIhHE42gmaLToOIGDhPSXGvv\nzlqOHbGbq4jsERc1jp1bej5q6wKBgQDwaueIc4pRchH98QYidcyr8Vwg9KhbnfYX\ny3W4RPlZtBdF34iJaio+ASzugo/zy1RTcVrsCskYWXyKDUQz1yu0iCng+fDCUnTm\nXGmEoEGNhk4vTJOt7hBav1/Ja/dUipGf6mXUuanwJ0e+1/Et/B0ah5X1Um5AyNZI\nM+SyRz3u+wKBgQCjvtUNXoqaghCBCmB6TjZ1prexnWkYFugCv2SSUMIk1W7gIlJ6\ntsjcrj1R1Qii6qzfBFd+GWoA0V06h0e2/qRVCg//p6GytrW33IycgvS+ZPLJ7tLI\nFR2r66WfRlpoPiSL8eRt/P7kkG0hXCn7K7ub2TEu/Ka/W1yNwad6PR8iCwKBgQC8\nXcZSrtQsxAc8w99emJVoEo9wcsCGJ9ltA0iUu9XyZpvlbyJ3J+s48YrWxQ0sop7L\nUgE+96Rfo51kPMi3JVtk81p8ntf4KMrWwokaFMXHsPcJMCJ1IBVIRLE0C5eZcYhv\nlyN57I4tT1lzOZYJxYK4Cot/zrn7oF/j6mTBGfh4iQKBgQCiJMUxRz01/czH/XSX\ngo3dVbHQ4FEOufWnE3Eb93S8r0/eq1RM118rb0TqzuiadW2xYDU4nucWQlrlmq0d\nFY/m+Hy97pqyk6jmoU5I/D+ssBIoYHWLnH9/xfvDEk2JGSJSHtzu0D4EDC/rgQ49\nMbYsO5oUrF8tPlhj5vzbf3GKLA==\n-----END PRIVATE KEY-----\n",
                "refreshLockInterval": "10m",
                "dummy" : {
                        "enable": false,
                        "sampleFilePath": ""
                }
        },
        "tenants": {
                "baseDir": "",
                "baseDomain": "",
                "filenameConfig": "config.json",
                "filenameSecret": "secret.key",
                "filenameLicense": "license.lic",
                "defaultTenant": "localhost",
                "cache" : {
                        "stdTTL": 300,
                        "checkperiod": 60,
                        "useClones": false
                }
        },
        "externalRequest": {
                "directIfIn" : {
                        "allowList": [],
                        "jwtToken": true
                },
                "action": {
                        "allow": true,
                        "blockPrivateIP": true,
                        "proxyUrl": "",
                        "proxyUser": {
                                "username": "",
                                "password": ""
                        },
                        "proxyHeaders": {
                        }
                }
        },
        "services": {
                "CoAuthoring": {
                        "server": {
                                "port": 8000,
                                "workerpercpu": 1,
                                "mode": "development",
                                "limits_tempfile_upload": 104857600,
                                "limits_image_size": 26214400,
                                "limits_image_download_timeout": {
                                        "connectionAndInactivity": "2m",
                                        "wholeCycle": "2m"
                                },
                                "callbackRequestTimeout": {
                                        "connectionAndInactivity": "10m",
                                        "wholeCycle": "10m"
                                },
                                "healthcheckfilepath": "../public/healthcheck.docx",
                                "savetimeoutdelay": 5000,
                                "edit_singleton": false,
                                "forgottenfiles": "forgotten",
                                "forgottenfilesname": "output",
                                "maxRequestChanges": 20000,
                                "openProtectedFile": true,
                                "isAnonymousSupport": true,
                                "editorDataStorage": "editorDataMemory",
                                "editorStatStorage": "",
                                "assemblyFormatAsOrigin": true,
                                "newFileTemplate" : "../../document-templates/new",
                                "downloadFileAllowExt": ["pdf", "xlsx"],
                                "tokenRequiredParams": true
                        },
                        "requestDefaults": {
                                "headers": {
                                        "User-Agent": "Node.js/6.13",
                                        "Connection": "Keep-Alive"
                                },
                                "gzip": true,
                                "rejectUnauthorized": true
                        },
                        "autoAssembly": {
                                "enable": false,
                                "interval": "5m",
                                "step": "1m"
                        },
                        "utils": {
                                "utils_common_fontdir": "null",
                                "utils_fonts_search_patterns": "*.ttf;*.ttc;*.otf",
                                "limits_image_types_upload": "jpg;jpeg;jpe;png;gif;bmp;svg"
                        },
                        "sql": {
                                "type": "postgres",
                                "tableChanges": "doc_changes",
                                "tableResult": "task_result",
                                "dbHost": "localhost",
                                "dbPort": 5432,
                                "dbName": "onlyoffice",
                                "dbUser": "onlyoffice",
                                "dbPass": "onlyoffice",
                                "charset": "utf8",
                                "connectionlimit": 10,
                                "max_allowed_packet": 1048575,
                                "pgPoolExtraOptions": {
                                        "idleTimeoutMillis": 30000,
                                        "maxLifetimeSeconds ": 60000,
                                        "statement_timeout ": 60000,
                                        "query_timeout  ": 60000,
                                        "connectionTimeoutMillis": 60000
                                },
                                "damengExtraOptions": {
                                        "columnNameUpperCase": false,
                                        "columnNameCase": "lower",
                                        "connectTimeout": 60000,
                                        "loginEncrypt": false,
                                        "localTimezone": 0,
                                        "poolTimeout": 60,
                                        "socketTimeout": 60000,
                                        "queueTimeout": 60000
                                },
                                "oracleExtraOptions": {
                                        "connectTimeout": 60
                                },
                                "msSqlExtraOptions": {
                                        "options": {
                                                "encrypt": false,
                                                "trustServerCertificate": true
                                        },
                                        "pool": {
                                                "idleTimeoutMillis": 30000
                                        }
                                },
                                "mysqlExtraOptions": {}
                        },
                        "redis": {
                                "name": "redis",
                                "prefix": "ds:",
                                "host": "127.0.0.1",
                                "port": 6379,
                                "options": {},
                                "optionsCluster": {},
                                "iooptions": {
                                        "lazyConnect": true
                                },
                                "iooptionsClusterNodes": [
                                ],
                                "iooptionsClusterOptions": {
                                        "lazyConnect": true
                                }
                        },
                        "pubsub": {
                                "maxChanges": 1000
                        },
                        "expire": {
                                "saveLock": 60,
                                "presence": 300,
                                "locks": 604800,
                                "changeindex": 86400,
                                "lockDoc": 30,
                                "message": 86400,
                                "lastsave": 604800,
                                "forcesave": 604800,
                                "forcesaveLock": 5000,
                                "saved": 3600,
                                "documentsCron": "0 */2 * * * *",
                                "files": 86400,
                                "filesCron": "00 00 */1 * * *",
                                "filesremovedatonce": 100,
                                "sessionidle": "1h",
                                "sessionabsolute": "30d",
                                "sessionclosecommand": "2m",
                                "pemStdTTL": "1h",
                                "pemCheckPeriod": "10m",
                                "updateVersionStatus": "5m",
                                "monthUniqueUsers": "1y"
                        },
                        "ipfilter": {
                                "rules": [{"address": "*", "allowed": true}],
                                "useforrequest": false,
                                "errorcode": 403
                        },
                        "request-filtering-agent" : {
                                "allowPrivateIPAddress": false,
                                "allowMetaIPAddress": false
                        },
                        "secret": {
                                "browser": {"string": "secret", "file": ""},
                                "inbox": {"string": "secret", "file": ""},
                                "outbox": {"string": "secret", "file": ""},
                                "session": {"string": "secret", "file": ""}
                        },
                        "token": {
                                "enable": {
                                        "browser": false,
                                        "request": {
                                                "inbox": false,
                                                "outbox": false
                                        }
                                },
                                "browser": {
                                        "secretFromInbox": true
                                },
                                "inbox": {
                                        "header": "Authorization",
                                        "prefix": "Bearer ",
                                        "inBody": false
                                },
                                "outbox": {
                                        "header": "Authorization",
                                        "prefix": "Bearer ",
                                        "algorithm": "HS256",
                                        "expires": "5m",
                                        "inBody": false,
                                        "urlExclusionRegex": ""
                                },
                                "session": {
                                        "algorithm": "HS256",
                                        "expires": "30d"
                                },
                                "verifyOptions": {
                                        "clockTolerance": 60
                                }
                        },
                        "plugins": {
                                "uri": "/sdkjs-plugins",
                                "autostart": []
                        },
                        "themes": {
                                "uri": "/web-apps/apps/common/main/resources/themes"
                        },
                        "editor":{
                                "spellcheckerUrl": "",
                                "reconnection":{
                                        "attempts": 50,
                                        "delay": "2s"
                                },
                                "binaryChanges": false,
                                "websocketMaxPayloadSize": "1.5MB",
                                "maxChangesSize": "0mb"
                        },
                        "sockjs": {
                                "sockjs_url": "",
                                "disable_cors": true,
                                "websocket": true
                        },
                        "socketio": {
                                "connection": {
                                        "path": "/doc/",
                                        "serveClient": false,
                                        "pingTimeout": 20000,
                                        "pingInterval": 25000,
                                        "maxHttpBufferSize": 1e8
                                }
                        },
                        "callbackBackoffOptions": {
                                "retries": 0,
                                "timeout":{
                                        "factor": 2,
                                        "minTimeout": 1000,
                                        "maxTimeout": 2147483647,
                                        "randomize": false
                                },
                                "httpStatus": "429,500-599"
                        }
                }
        },
        "license" : {
                "license_file": "",
                "warning_limit_percents": 70,
                "packageType": 0
        },
        "FileConverter": {
                "converter": {
                        "maxDownloadBytes": 104857600,
                        "downloadTimeout": {
                                "connectionAndInactivity": "2m",
                                "wholeCycle": "2m"
                        },
                        "downloadAttemptMaxCount": 3,
                        "downloadAttemptDelay": 1000,
                        "maxprocesscount": 1,
                        "fontDir": "null",
                        "presentationThemesDir": "null",
                        "x2tPath": "null",
                        "docbuilderPath": "null",
                        "args": "",
                        "spawnOptions": {},
                        "errorfiles": "",
                        "streamWriterBufferSize": 8388608,
                        "maxRedeliveredCount": 2,
                        "inputLimits": [
                                {
                                "type": "docx;dotx;docm;dotm",
                                "zip": {
                                        "uncompressed": "50MB",
                                        "template": "*.xml"
                                }
                                },
                                {
                                "type": "xlsx;xltx;xlsm;xltm",
                                "zip": {
                                        "uncompressed": "300MB",
                                        "template": "*.xml"
                                }
                                },
                                {
                                "type": "pptx;ppsx;potx;pptm;ppsm;potm",
                                "zip": {
                                        "uncompressed": "50MB",
                                        "template": "*.xml"
                                }
                                }
                        ]
                }
        }
}
1 Like