Este artículo está traducido por IA

Configuración de ONLYOFFICE Docs Community Edition

Introducción

Para cambiar cualquier configuración del servidor de ONLYOFFICE Docs, configure el parámetro correspondiente en el archivo de configuración de ONLYOFFICE Docs, que se puede encontrar en la siguiente ruta:

  • Para Linux - /etc/onlyoffice/documentserver/default.json
  • Para Windows - %ProgramFiles%\ONLYOFFICE\DocumentServer\config\default.json

Si desea cambiarlo, puede usar el archivo local.json, donde se deben almacenar todos los parámetros editados. Este archivo se encuentra en el mismo directorio que el archivo default.json, y se debe mantener toda la estructura del objeto para el parámetro necesario.

Por favor, no edite directamente el contenido del archivo default.json. Los valores predeterminados se restaurarán cada vez que reinicie el contenedor Docker o actualice ONLYOFFICE Docs a una nueva versión, y todos sus cambios se perderán.

Los archivos de configuración se leen en el siguiente orden de precedencia (la prioridad más alta al final):

  1. default.json — valores predeterminados base (no editar)
  2. production.json — sobrescrituras de producción
  3. local.json — sus configuraciones personalizadas (edite este archivo)
  4. runtime.json — configuraciones cambiadas a través del Panel de Administración (tiene la mayor precedencia)

Si un parámetro está configurado en varios archivos, se utiliza el valor del archivo con la prioridad más alta.

A continuación se describen las configuraciones predeterminadas del servidor.

Escenarios comunes de configuración

Las siguientes son las tareas de configuración más comunes y los parámetros involucrados:

  • Conectar una base de datos externa: Configure services.CoAuthoring.sql.type, services.CoAuthoring.sql.dbHost, services.CoAuthoring.sql.dbPort, services.CoAuthoring.sql.dbName, services.CoAuthoring.sql.dbUser, services.CoAuthoring.sql.dbPass. Para Docker, use las variables de entorno DB_TYPE, DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PWD en su lugar.
  • Habilitar el monitoreo: Configure statsd.useMetrics a true y configure statsd.host, statsd.port. Para Docker, use METRICS_ENABLED, METRICS_HOST, METRICS_PORT.
  • Restringir el acceso por IP: Consulte la guía de configuración del filtro IP.
  • Cambiar el secreto JWT: Configure services.CoAuthoring.secret.session.string y las claves relacionadas. Para Docker, use JWT_SECRET. Consulte la guía de configuración JWT.
  • Usar un servidor Redis personalizado: Configure services.CoAuthoring.redis.host, services.CoAuthoring.redis.port. Para Docker, use REDIS_SERVER_HOST, REDIS_SERVER_PORT.

Panel de Administración

ParámetroDescripciónTipoPredeterminado
Define el puerto en el que se ejecuta el servicio del Panel de Administración.entero9000
Define un hash de contraseña utilizado para proteger una contraseña con el algoritmo PBKDF2-SHA256.
El valor de este parámetro se almacena en el archivo runtime.json. Por ejemplo, para la versión de Linux, este archivo se puede encontrar aquí: /var/www/onlyoffice/Data/runtime.json
cadena""

Estos parámetros definen las propiedades del Panel de Administración. Para más detalles sobre el uso del Panel de Administración, puede consultar este artículo.

Ejemplo
"adminPanel": {
    "port": 9000
  }

StatsD

ParámetroDescripciónTipoPredeterminado
Define si las métricas de StatsD están habilitadas para ONLYOFFICE Docs o no.booleanofalse
Define el host del servidor StatsD (nombre del host o dirección IP).cadena"localhost"
Define el puerto del servidor StatsD.cadena"8125"
Define una cadena que se añadirá al principio de todas las estadísticas automáticamente. Ayuda a distinguir diferentes aplicaciones que usan el mismo servidor StatsD.cadena"ds."

Estos parámetros definen las propiedades del servidor StatsD, especificando un agregador de métricas.

Ejemplo
"statsd": {
    "useMetrics": false,
    "host": "localhost",
    "port": "8125",
    "prefix": "ds."
}

Configuración del plugin de IA

ParámetroDescripciónTipoPredeterminado
Define las acciones realizadas por la IA, por ejemplo, Chat, Resumen, Traducción, Análisis de Texto, Generación de Imágenes, OCR, Visión.objeto
Define los modelos de IA, por ejemplo, gemini-1.5-pro-latest, llama3.2:latest, etc.array[]
Define los proveedores de IA, por ejemplo, OpenAI, Google Gemini, Anthropic, etc.objeto
Define la versión del SDK de IA.entero3
Define un tiempo de espera del proxy de IA (medido en minutos).cadena"5m"
Define qué sitios web externos están permitidos para realizar solicitudes de origen cruzado al servidor.array de cadenas["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"]
Admite el enrutamiento de solicitudes de IA a través de un proxy.cadena""

Estos parámetros definen las propiedades del plugin de IA.

Ejemplo
"aiSettings": {
    "actions": {},
    "models": [],
    "providers": {},
    "version": 3,
    "timeout": "5m",
    "allowedCorsOrigins": ["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"],
    "proxy": ""
  }

Logger

ParámetroDescripciónTipoPredeterminado
Define una ruta al archivo de registro.cadena""
Define las opciones de registro.objeto
Define si la información de registro se imprime en la consola o no.booleanotrue

Estos parámetros definen las propiedades del registrador.

Ejemplo
"log": {
    "filePath": "",
    "options": {
        "replaceConsole": true
    }
}

Configuración en tiempo de ejecución

ParámetroDescripciónTipoPor defecto
Define una ruta al archivo de configuración dinámica runtime.json. Por defecto, se utiliza la ruta /var/www/onlyoffice/Data/runtime.json.cadena""
Define las opciones de caché de runtime.json.objeto
Define el TTL (tiempo de vida) para cada elemento de caché generado (medido en segundos).entero300
Define el período utilizado para el intervalo de verificación de eliminación automática (medido en segundos).entero60
Define si las variables en caché se clonarán o no. Si true, se creará una copia de la variable en caché. Si false, solo se guardará la referencia.booleanofalse

Estos parámetros definen las propiedades del archivo de configuración dinámica runtime.json. Este archivo permite cambiar parámetros sin reiniciar. El archivo se vuelve a leer basado en un evento de observación o cada 5 minutos.

Ejemplo
"runtimeConfig": {
    "filePath": "",
    "cache": {
      "stdTTL": 300,
      "checkperiod": 60,
      "useClones": false
    }
  }

Colas

ParámetroDescripciónTipoPor defecto
Define el tipo de intermediario de mensajes.cadena"rabbitmq"
Define el tiempo de espera de conversión (medido en segundos).entero300
Define el TTL (tiempo de vida) de todos los mensajes en una cola (medido en segundos).entero900

Estos parámetros definen una cola de mensajes recibidos del intermediario de mensajes.

Ejemplo
"queue": {
    "type": "rabbitmq",
    "visibilityTimeout": 300,
    "retentionPeriod": 900
}

Email

ParámetroDescripciónTipoPor defecto
Define los ajustes básicos para conectar al servidor SMTP.objeto
Define el nombre del host o la dirección IP del servidor SMTP.cadena"localhost"
Define el puerto del servidor SMTP.entero587
Define los datos de autenticación.objeto

Define el nombre de usuario de autenticación.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""

Define la contraseña de autenticación.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""
Define las opciones técnicas para conectar al servidor SMTP.objeto
Define si se permite el uso de archivos como contenido. Si este parámetro está establecido en true, entonces los datos JSON de una fuente no confiable no pueden ser utilizados como el correo electrónico. Si un adjunto o nodo de mensaje intenta obtener algo de un archivo, el envío devuelve un error. booleanofalse
Define si se permite el uso de URLs como contenido.booleanofalse
Define los ajustes del mensaje de correo electrónico.objeto
Define la dirección de correo electrónico del remitente. Todas las direcciones de correo electrónico pueden ser simples "sender@server.com" o con nombre formateado '"Sender Name" sender@server.com'. cadena"from@example.com"
Define la lista separada por comas o un array de direcciones de correo electrónico de los destinatarios que aparecerán en el campo Para:.cadena"to@example.com"

Estos parámetros definen la configuración de un servidor de correo externo, que se utiliza para enviar notificaciones Para conectarse al servidor de correo, utilice la biblioteca nodemailer. Muchas configuraciones se pasan directamente a esta biblioteca.

Ejemplo
"email": {
    "smtpServerConfiguration": {
        "host": "localhost",
        "port": 587,
        "auth": {
            "user": "",
            "pass": ""
        }
    },
    "connectionConfiguration": {
        "disableFileAccess": false,
        "disableUrlAccess": false
    },
    "contactDefaults": {
        "from": "from@example.com",
        "to": "to@example.com"
    }
}

Notificación

ParámetroDescripciónTipoPredeterminado
Define las reglas de configuración de notificaciones para cuatro tipos de notificación: licenseExpirationWarning, licenseExpirationError, licenseLimitEdit, licenseLimitLiveViewer. objeto
Define las reglas para la configuración de notificaciones licenseExpirationWarning.objeto
Define si la notificación licenseExpirationWarning está habilitada. Cada tipo de notificación debe habilitarse por separado.booleanofalse
Define la forma de enviar la notificación licenseExpirationWarning. Actualmente, solo está disponible el tipo email.array de cadenas["email"]
Define una plantilla para el título y cuerpo de la notificación licenseExpirationWarning.objeto
Define una plantilla para el título de la notificación licenseExpirationWarning.cadena"%s Docs advertencia de expiración de licencia"
Define una plantilla para el cuerpo de la notificación licenseExpirationWarning.cadena"¡Atención! Su licencia está a punto de expirar el %s.\nAl llegar a esta fecha, ya no tendrá derecho a recibir soporte técnico personal ni a instalar nuevas versiones de Docs lanzadas después de esta fecha."
Define la política de envío de la notificación licenseExpirationWarning.objeto
Define el tiempo en el que se enviará la notificación licenseExpirationWarning (no más a menudo que el período especificado).cadena"1d"
Define las reglas para la configuración de notificaciones licenseExpirationError.objeto
Define si la notificación licenseExpirationError está habilitada. Cada tipo de notificación debe habilitarse por separado.booleanofalse
Define la forma de enviar la notificación licenseExpirationError. Actualmente, solo está disponible el tipo email.array de cadenas["email"]
Define una plantilla para el título y cuerpo de la notificación licenseExpirationError.objeto
Define una plantilla para el título de la notificación licenseExpirationError.cadena"%s Docs advertencia de expiración de licencia"
Define una plantilla para el cuerpo de la notificación licenseExpirationError.cadena"¡Atención! Su licencia expiró el %s.\nYa no tiene derecho a recibir soporte técnico personal ni a instalar nuevas versiones de Docs lanzadas después de esta fecha.\nPor favor, contacte a sales@onlyoffice.com para discutir la renovación de la licencia."
Define la política de envío de la notificación licenseExpirationError.objeto
Define el tiempo en el que se enviará la notificación licenseExpirationError (no más a menudo que el período especificado).cadena"1d"
Define las reglas para la configuración de notificaciones licenseLimitEdit.objeto
Define si la notificación licenseLimitEdit está habilitada. Cada tipo de notificación debe habilitarse por separado.booleanofalse
Define la forma de enviar la notificación licenseLimitEdit. Actualmente, solo está disponible el tipo email.array de cadenas["email"]
Define una plantilla para el título y cuerpo de la notificación licenseLimitEdit.objeto
Define una plantilla para el título de la notificación licenseLimitEdit.cadena"%s Docs advertencia de límite de conexión de licencia"
Define una plantilla para el cuerpo de la notificación licenseLimitEdit.cadena"¡Atención! Ha alcanzado el %s%% del límite %s establecido por su licencia."
Define la política de envío de notificaciones licenseLimitEdit.objeto
Define el momento en que se enviará la notificación licenseLimitEdit (no más a menudo que el período especificado).cadena"1d"
Define las reglas para la configuración de notificaciones licenseLimitLiveViewer.objeto
Define si la notificación licenseLimitLiveViewer está habilitada. Cada tipo de notificación debe habilitarse por separado.booleanofalse
Define la forma de envío de la notificación licenseLimitLiveViewer. Actualmente, solo está disponible el tipo email.array de cadenas["email"]
Define una plantilla para el título y el cuerpo de la notificación licenseLimitLiveViewer.objeto
Define una plantilla para el título de la notificación licenseLimitLiveViewer.cadena"%s Advertencia de límite de conexión de licencia de Docs"
Define una plantilla para el cuerpo de la notificación licenseLimitLiveViewer.cadena"¡Atención! Has alcanzado el %s%% del límite %s establecido por tu licencia."
Define la política de envío de notificaciones licenseLimitLiveViewer.objeto
Define el momento en que se enviará la notificación licenseLimitLiveViewer (no más a menudo que el período especificado).cadena"1d"

Estos parámetros definen la configuración de las notificaciones.

Se envían notificaciones con los siguientes tipos de eventos y contenido:

  • Se ha superado el 70% de la cuota de conexiones (cuota de usuarios únicos).

    Advertencia de límite de conexión de licencia: "¡Atención! Has alcanzado el 70% del límite de conexiones establecido por tu licencia."

  • Se ha alcanzado la cuota de conexiones (cuota de usuarios únicos).

    Advertencia de límite de conexión de licencia: "¡Atención! Has alcanzado el 100% del límite de conexiones establecido por tu licencia."

  • 30 días antes de que expire la licencia.

    Advertencia de expiración de licencia: "¡Atención! Tu licencia está a punto de expirar el 8 de septiembre de 2024. Al llegar a esta fecha, ya no tendrás derecho a recibir soporte técnico personal ni a instalar nuevas versiones de Docs lanzadas después de esta fecha."

  • La licencia ha expirado.

    Advertencia de límite de conexión de licencia: "¡Atención! Tu licencia expiró el 8 de septiembre de 2024. Ya no tienes derecho a recibir soporte técnico personal ni a instalar nuevas versiones de Docs lanzadas después de esta fecha. Por favor, contacta a sales@onlyoffice.com para discutir la renovación de la licencia."

Estas notificaciones se registran en el log del servidor con el nivel WARN o ERROR.

Ejemplo
"notification": {
"rules": {
"licenseExpirationWarning": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Advertencia de expiración de licencia de Docs",
"body": "¡Atención! Tu licencia está a punto de expirar el %s.\nAl llegar a esta fecha, ya no tendrás derecho a recibir soporte técnico personal ni a instalar nuevas versiones de Docs lanzadas después de esta fecha."
},
"policies": {
"repeatInterval": "1d"
}
},
"licenseExpirationError": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Advertencia de expiración de licencia de Docs",
"body": "¡Atención! Tu licencia expiró el %s.\nYa no tienes derecho a recibir soporte técnico personal ni a instalar nuevas versiones de Docs lanzadas después de esta fecha.\nPor favor, contacta a sales@onlyoffice.com para discutir la renovación de la licencia."
},
"policies": {
"repeatInterval": "1d"
}
},
"licenseLimitEdit": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Advertencia de límite de conexión de licencia de Docs",
"body": "¡Atención! Has alcanzado el %s%% del límite %s establecido por tu licencia."
},
"policies": {
"repeatInterval": "1h"
}
},
"licenseLimitLiveViewer": {
"enable": false,
"transportType": [
"email"
],
"template": {
"title": "%s Advertencia de límite de conexión de licencia de Docs",
"body": "¡Atención! Has alcanzado el %s%% del límite de espectadores en vivo %s establecido por tu licencia."
},
"policies": {
"repeatInterval": "1h"
}
}
}
}

Servicio de almacenamiento de documentos

ParámetroDescripciónTipoPredeterminado
Define el nombre del servicio de almacenamiento de documentos. Por ejemplo, el valor "storage-s3" permite conectar un bucket de Amazon S3 como caché. El valor "storage-az" permite conectar MS Azure Blob Storage como caché.cadena"storage-fs"
Define los parámetros del objeto fileSystem.objeto
Define una ruta a la carpeta App_Data donde se almacenan todos los archivos.cadena""
Define el tiempo en que expira la URL temporal para el objeto fileSystem (medido en segundos).entero900
Define la cadena secreta que se utiliza para firmar la URL.cadena"verysecretstring"
Define una región de AWS donde reside tu bucket de Amazon.cadena""
Define el endpoint del almacenamiento de documentos S3 AWS o MS Azure Blob Storage.cadena"http://localhost/s3"
Define un nombre único para el almacenamiento de documentos S3 AWS o MS Azure Blob Storage.cadena"cache"
Define el nombre de la carpeta de almacenamiento de documentos S3 AWS donde se almacenan todos los archivos.cadena"files"
Define el nombre de la carpeta de caché para trabajar en el modo multi-tenant.string"data"
Define parámetros que permiten personalizar comandos para un almacenamiento, por ejemplo, habilitar AWS KMS.object
Define parámetros que permiten personalizar comandos para el almacenamiento de documentos S3 AWS.object
Define parámetros del tipo de comando putObject utilizado para subir un objeto a un bucket S3 especificado.object
Define el tipo de cifrado para el objeto recién subido. Los valores disponibles son "aws:kms" o "AES256".string
Esta es una configuración opcional. Optimiza el costo por solicitud al reducir las llamadas a la API de KMS.boolean
Define el identificador (ARN o clave) de la Clave Gestionada por el Cliente en AWS KMS que se utiliza para cifrar el objeto después de ser subido.string
Define parámetros del tipo de comando getObject utilizado para recuperar un objeto de un bucket S3 especificado.object
Define parámetros del tipo de comando copyObject utilizado para crear una copia de un objeto almacenado en un bucket S3 especificado.object
Define el tipo de cifrado para el objeto recién copiado. Los valores disponibles son "aws:kms" o "AES256".string
Esta es una configuración opcional. Optimiza el costo por solicitud al reducir las llamadas a la API de KMS.boolean
Define el identificador (ARN o clave) de la Clave Gestionada por el Cliente en AWS KMS que se utiliza para cifrar el objeto después de ser copiado.string
Define cómo Amazon S3 debe manejar los metadatos del objeto de destino durante una operación de copia. Si el valor se establece en "COPY", los metadatos del objeto fuente se copian al objeto de destino. Si el valor se establece en "REPLACE", los metadatos del objeto de destino se reemplazan por los metadatos proporcionados en la solicitud copyObject y los metadatos del objeto fuente no se copian.string"COPY"
Define parámetros del tipo de comando listObjects utilizado para recuperar una lista de objetos dentro de un bucket S3 especificado.object
Define el número máximo de objetos que se devuelven en una respuesta.integer1000
Define parámetros del tipo de comando deleteObject utilizado para eliminar un objeto de un bucket S3 especificado.object
Define parámetros que permiten personalizar comandos para el almacenamiento de blobs de MS Azure.object
Define parámetros del tipo de comando uploadData utilizado para subir datos al almacenamiento de blobs de MS Azure.object
Define el nombre del ámbito de cifrado utilizado para cifrar un blob subido.string
Define parámetros del tipo de comando uploadStream utilizado para subir datos desde un flujo al almacenamiento de blobs de MS Azure.object
Define el nombre del ámbito de cifrado utilizado para cifrar un blob subido desde un flujo.string
Define parámetros del tipo de comando download utilizado para descargar datos del almacenamiento de blobs de MS Azure.object
Define parámetros del tipo de comando syncCopyFromURL utilizado para copiar un blob desde una URL de origen a un blob de destino.object
Define el nombre del ámbito de cifrado utilizado para cifrar un blob copiado.string
Define parámetros del tipo de comando listBlobsFlat utilizado para recuperar una lista de todos los blobs en un contenedor.object
Define el número máximo de blobs a devolver.integer1000
Define parámetros del tipo de comando deleteBlob utilizado para eliminar un blob.object
Define el tiempo en que expira la URL para el almacenamiento de documentos S3 AWS (medido en milisegundos).integer604800
Define un ID de clave para acceder al almacenamiento de documentos S3 AWS o al almacenamiento de blobs de MS Azure.string""
Define una clave secreta para acceder al almacenamiento de documentos S3 AWS o MS Azure Blob Storage.cadena""
Define si el SSL del almacenamiento de documentos S3 AWS está habilitado o no.booleanofalse
Define si las solicitudes al almacenamiento de documentos S3 AWS siempre utilizan direccionamiento de estilo de ruta.booleanotrue
Define un host externo que se utiliza en lugar del host especificado en la solicitud.cadena""
Define la emisión de enlaces a un almacenamiento externo: enlaces directos o enlaces que son proxy a través del Servidor de documentos. Configurar este parámetro en true habilita enlaces directos, mientras que el valor false permite usar enlaces internos (el servidor hace de proxy de las solicitudes al almacenamiento).booleanofalse

Estos parámetros definen la configuración del servicio de almacenamiento de documentos.

Ejemplo
"storage": {
    "name": "storage-fs",
    "fs": {
      "folderPath": "",
      "urlExpires": 900,
      "secretString": "verysecretstring"
    },
    "region": "",
    "endpoint": "http://localhost/s3",
    "bucketName": "cache",
    "storageFolderName": "files",
    "cacheFolderName": "data",
    "commandOptions": {
      "s3": {
        "putObject": {},
        "getObject": {},
        "copyObject": {
          "MetadataDirective": "COPY"
        },
        "listObjects": {
          "MaxKeys": 1000
        },
        "deleteObject": {}
      },
      "az": {
        "uploadData": {},
        "uploadStream": {},
        "download": {},
        "syncCopyFromURL": {},
        "listBlobsFlat": {
          "maxPageSize": 1000
        },
        "deleteBlob": {}
      }
    },
    "urlExpires": 604800,
    "accessKeyId": "",
    "secretAccessKey": "",
    "sslEnabled": false,
    "s3ForcePathStyle": true,
    "externalHost": "",
    "useDirectStorageUrls": false
  }

Almacenamiento persistente

Estos parámetros definen la configuración del almacenamiento persistente, que se utiliza para separar la configuración del almacenamiento de archivos de caché de documentos y el almacenamiento de archivos olvidados y de error. Las configuraciones que no se especifican en este objeto se heredan del objeto storage. La separación es conveniente para las actualizaciones del servidor.

Ejemplo
"persistentStorage": {
}

RabbitMQ

ParámetroDescripciónTipoPor defecto

Define la URL de RabbitMQ.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena"amqp://localhost:5672"

Define las opciones de socket de RabbitMQ que se pasarán a la biblioteca de sockets (net o tls). Estas opciones deben ser campos establecidos en el objeto proporcionado. Las opciones de socket pueden usarse para la conexión SSL y pueden contener los siguientes campos:

  • cert - define un certificado para presentar al servidor (en formato PEM o pkcs12),
    tipo: cadena,
    ejemplo: "";
  • key - define la clave privada para el certificado (en formato PEM o pkcs12),
    tipo: cadena,
    ejemplo: "";
  • passphrase - define una frase de contraseña para la clave privada,
    tipo: cadena,
    ejemplo: "MySecretPassword";
  • ca - define una lista de certificados CA en formato PEM que confiaremos, ya que estamos usando un certificado autofirmado,
    tipo: array,
    ejemplo: [];
  • noDelay - define si TCP_NODELAY (el algoritmo de Nagle) está establecido en el socket subyacente o no,
    tipo: booleano,
    ejemplo: true.
objeto{}
Define el servidor de intercambio de Publicador Suscriptor.objeto
Define un nombre para el servidor de Publicador Suscriptor.cadena"ds.pubsub"
Define las configuraciones del servidor de Publicador Suscriptor.objeto
Define si la cola sobrevivirá a los reinicios del broker.booleanotrue
Define la cola de Publicador Suscriptor.objeto
Define un nombre para la cola de Publicador Suscriptor.cadena""
Define las configuraciones de la cola de Publicador Suscriptor.objeto
Define si la cola será eliminada cuando el número de consumidores se reduzca a cero.booleanotrue
Define si la cola estará limitada a la conexión.booleanotrue
Define los argumentos adicionales, generalmente parámetros para algún tipo de extensión específica del broker, por ejemplo, alta disponibilidad, TTL.objeto
Define un valor para el encabezado x-queue-type que especifica el tipo de cola. Solo se pueden usar colas clásicas.cadena"classic"
Define una cola de tareas.objeto
Define un nombre para la cola de tareas.string"ds.converttask6"
Define las configuraciones de la cola de tareas.object
Define si la cola sobrevivirá a los reinicios del broker.booleantrue
Define una prioridad para la cola.integer6
Define los argumentos adicionales, generalmente parámetros para algún tipo de extensión específica del broker, por ejemplo, alta disponibilidad, TTL.object
Define un valor para el encabezado x-queue-type que especifica el tipo de cola. Esta configuración se puede usar para establecer las colas de quorum.string"classic"
Define una cola de respuestas.object
Define un nombre para la cola de respuestas.string"ds.convertresponse"
Define las configuraciones de la cola de respuestas.object
Define si la cola sobrevivirá a los reinicios del broker.booleantrue
Define los argumentos adicionales, generalmente parámetros para algún tipo de extensión específica del broker, por ejemplo, alta disponibilidad, TTL.object
Define un valor para el encabezado x-queue-type que especifica el tipo de cola. Esta configuración se puede usar para establecer las colas de quorum.string"classic"
Define un intercambio de cartas muertas.object
Define un nombre para el intercambio de cartas muertas.string"ds.exchangeconvertdead"
Define las configuraciones del intercambio de cartas muertas.object
Define si la cola sobrevivirá a los reinicios del broker.booleantrue
Define una cola de cartas muertas.object
Define un nombre para la cola de cartas muertas.string"ds.convertdead"
Define las configuraciones de la cola de cartas muertas.object
Define si la cola sobrevivirá a los reinicios del broker.booleantrue
Define los argumentos adicionales, generalmente parámetros para algún tipo de extensión específica del broker, por ejemplo, alta disponibilidad, TTL.object
Define un valor para el encabezado x-queue-type que especifica el tipo de cola. Esta configuración se puede usar para establecer las colas de quorum.string"classic"
Define la cola retrasada.object
Define un nombre para la cola retrasada.string"ds.delayed"
Define las configuraciones de la cola retrasada.object
Define si la cola sobrevivirá a los reinicios del broker.booleantrue
Define los argumentos adicionales, generalmente parámetros para algún tipo de extensión específica del broker, por ejemplo, alta disponibilidad, TTL.object
Define un valor para el encabezado x-queue-type que especifica el tipo de cola. Esta configuración se puede usar para establecer las colas de quorum.string"classic"

Estos parámetros definen la configuración del broker de mensajes RabbitMQ.

Ejemplo
"rabbitmq": {
    "url": "amqp://localhost:5672",
    "socketOptions": {},
    "exchangepubsub": {
        "name": "ds.pubsub",
        "options": {
            "durable": true
        }
    },
    "queuepubsub": {
        "name": "",
        "options": {
            "autoDelete": true,
            "exclusive": true,
            "arguments": {
                "x-queue-type": "classic"
            }
        }
    },
    "queueconverttask": {
        "name": "ds.converttask6",
        "options": {
            "durable": true,
            "maxPriority": 6,
            "arguments": {
                "x-queue-type": "classic"
            }
        }
    },
    "queueconvertresponse": {
        "name": "ds.convertresponse",
        "options": {
            "durable": true,
            "arguments": {
                "x-queue-type": "classic"
            }
        }
    },
    "exchangeconvertdead": {
        "name": "ds.exchangeconvertdead",
        "options": {
            "durable": true
        }
    },
    "queueconvertdead": {
        "name": "ds.convertdead",
        "options": {
            "durable": true,
            "arguments": {
                "x-queue-type": "classic"
            }
        }
    },
    "queuedelayed": {
        "name": "ds.delayed",
        "options": {
            "durable": true,
            "arguments": {
                "x-queue-type": "classic"
            }
        }
    }
}

ActiveMQ

ParámetroDescripciónTipoPor defecto
Define las opciones de conexión de ActiveMQ.objeto
Define un puerto del servidor al que se conecta el contenedor ActiveMQ.entero5672
Define un host (nombre de host o dirección IP) del servidor al que se conecta el contenedor ActiveMQ.cadena"localhost"
Define si el módulo ActiveMQ intentará automáticamente reconectarse si se desconecta (true) o no (false).booleanofalse
Define una cola de tareas.cadena"ds.converttask"
Define una cola de respuestas.cadena"ds.convertresponse"
Define una cola de mensajes muertos.cadena"ActiveMQ.DLQ"
Define la cola de mensajes retrasados.cadena"ds.delayed"
Define el tema de Publicador Suscriptor.cadena"ds.pubsub"

Estos parámetros definen la configuración del broker de mensajes ActiveMQ.

Ejemplo
"activemq": {
    "connectOptions": {
        "port": 5672,
        "host": "localhost",
        "reconnect": false
    },
    "queueconverttask": "ds.converttask",
    "queueconvertresponse": "ds.convertresponse",
    "queueconvertdead": "ActiveMQ.DLQ",
    "queuedelayed": "ds.delayed",
    "topicpubsub": "ds.pubsub"
}

Caché DNS

ParámetroDescripciónTipoPor defecto
Define si la caché DNS está habilitada o no.booleanotrue
Define el tiempo en el que los registros DNS expiran (medido en segundos).entero300
Define el tamaño de la caché DNS.entero1000

Estos parámetros definen la configuración de la caché DNS que se utiliza para el filtro IP.

Ejemplo
"dnscache": {
    "enable" : true,
    "ttl" : 300,
    "cachesize" : 1000
}

Protocolo OpenPGP

ParámetroDescripciónTipoPor defecto
Define la configuración del protocolo OpenPGP.objeto{}
Define los ajustes de cifrado OpenPGP.objeto
Define una contraseña que se utiliza para el cifrado OpenPGP.array de cadenas["verysecretstring"]
Define los ajustes de descifrado OpenPGP.objeto
Define una contraseña que se utiliza para el descifrado OpenPGP.array de cadenas["verysecretstring"]

Estos parámetros definen los ajustes del protocolo OpenPGP, que se utiliza para cifrar la contraseña al abrir un documento cifrado para su edición.

Ejemplo
"openpgpjs": {
    "config": {
    },
    "encrypt": {
        "passwords": ["verysecretstring"]
    },
    "decrypt": {
        "passwords": ["verysecretstring"]
    }
}

Algoritmo AES-256-GCM

ParámetroDescripciónTipoPor defecto
Define la configuración del algoritmo AES-256-GCM.objeto
Define la longitud de la clave medida en bytes.entero32
Define la longitud de la sal medida en bytes.entero64
Define la longitud del vector de inicialización medida en bytes.integer16
Define la longitud de las iteraciones medida en bytes.integer5
Define una contraseña que se utiliza para el cifrado AES-256-GCM.string"verysecretstring"

Estos parámetros definen la configuración del algoritmo de cifrado AES-256-GCM utilizado para la protección con contraseña de los documentos.

Ejemplo
"aesEncrypt": {
    "config": {
        "keyByteLength": 32,
        "saltByteLength": 64,
        "initializationVectorByteLength": 16,
        "iterationsByteLength": 5
    },
    "secret": "verysecretstring"
}

Bottleneck

ParámetroDescripciónTipoPor defecto
Define las opciones del constructor para generar limitadores que regulen las solicitudes a la base de datos.object{}

Este parámetro define la configuración de Bottleneck.

Ejemplo
"bottleneck": {
    "getChanges": {
    }
}

Certificados raíz del sistema Windows

ParámetroDescripciónTipoPor defecto
Define el modo de inyección de los certificados raíz del sistema Windows. El "+" significa que se utiliza un nuevo método experimental para instalar certificados.string"+"

Este parámetro define la configuración de los certificados raíz del sistema Windows.

Ejemplo
"win-ca": {
    "inject": "+"
}

WOPI

ParámetroDescripciónTipoPor defecto
Define si WOPI está habilitado o no.booleanfalse
Define el host WOPI (nombre del host o dirección IP).string""
Define una ruta a la plantilla HTML de WOPI.string"../../web-apps/apps/api/wopi"
Define una zona que el Servidor de documentos utiliza para navegar el navegador a la aplicación WOPI.string"external-http"
Define una ruta al favicon para el editor de documentos.string"/web-apps/apps/documenteditor/main/resources/img/favicon.ico"
Define una ruta al favicon para el editor de hojas de cálculo.string"/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico"
Define una ruta al favicon para el editor de presentaciones.string"/web-apps/apps/presentationeditor/main/resources/img/favicon.ico"
Define una ruta al favicon para el editor de PDF.string"/web-apps/apps/pdfeditor/main/resources/img/favicon.ico"
Define una ruta al favicon para el editor de diagramas.string"/web-apps/apps/visioeditor/main/resources/img/favicon.ico"
Define una lista de parámetros de información de archivos WOPI que se bloquean al enviar este array al navegador. Sin embargo, estos parámetros están disponibles en el servidor.array of strings["FileUrl"]
Define los tipos de archivos que se pueden ver en el editor de PDF.array of strings["djvu", "xps", "oxps"]
Define los tipos de archivos que se pueden editar en el editor de PDF.array of strings["pdf"]
Define los tipos de archivos de formularios.array of strings["pdf"]
Define los tipos de archivos que se pueden ver en el editor de documentos.array of strings["doc", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt", "pages", "docxf", "oform", "hwp", "hwpx", "md", "hml"]
Define los tipos de archivos que se pueden editar en el editor de documentos.array of strings["docx", "dotx", "docm", "odt", "txt"]
Define los tipos de archivos que se pueden ver en el editor de hojas de cálculo.array of strings["xls", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett", "numbers"]
Define los tipos de archivos que se pueden editar en el editor de hojas de cálculo.array of strings["xlsx", "xlsb", "xltx", "xlsm", "ods", "csv"]
Define los tipos de archivos que se pueden ver en el editor de presentaciones.array of strings["ppt", "ppsx", "ppsm", "pps", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt", "key", "odg"]
Define los tipos de archivos que se pueden editar en el editor de presentaciones.array of strings["pptx", "potx", "pptm", "odp"]
Define los tipos de archivo que se pueden visualizar en el editor de diagramas.array de cadenas["vsdx", "vstx", "vssx", "vsdm", "vstm", "vssm"]
Define los tipos de archivo que se pueden editar en el editor de diagramas.array de cadenas[]

Define la clave pública que el integrador utiliza para verificar la clave privada.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""

Define el módulo RSA en formato codificado en Base64 que se utiliza para obtener la clave pública.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""
Define el exponente RSA en formato codificado en Base64 que se utiliza para obtener la clave pública.cadena65537

Define la clave privada que firma la solicitud del Servidor de documentos.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""

Define la antigua clave pública que el integrador utilizaba para verificar la clave privada.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""

Define el antiguo módulo RSA en formato codificado en Base64 que se utilizaba para obtener la clave pública.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""
Define el antiguo exponente RSA en formato codificado en Base64 que se utilizaba para obtener la clave pública.cadena65537

Define la antigua clave privada que firmaba la solicitud del Servidor de documentos.

Tenga en cuenta que a partir de la versión 8.3, los valores de este parámetro en los archivos default.json y local.json son diferentes.
cadena""
Define el tiempo de intervalo en minutos para actualizar el bloqueo de un archivo restableciendo su temporizador de expiración automática a 30 minutos.cadena"10m"
Define las propiedades de los manejadores dummy para pruebas de estrés.objeto
Define si los manejadores dummy están habilitados o no.booleanofalse
Define la ruta dummy al archivo de muestra.cadena""

Estos parámetros definen la configuración del protocolo WOPI.

Ejemplo
"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",
"favIconUrlDiagram": "/web-apps/apps/visioeditor/main/resources/img/favicon.ico",
"fileInfoBlockList": ["FileUrl"],
"pdfView": ["djvu", "xps", "oxps"],
"pdfEdit": ["pdf"],
"forms": ["pdf"],
"wordView": ["doc", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt", "pages", "docxf", "oform", "hwp", "hwpx", "md", "hml"],
"wordEdit": ["docx", "dotx", "docm", "odt", "txt"],
"cellView": ["xls", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett", "numbers"],
"cellEdit": ["xlsx", "xlsb", "xltx", "xlsm", "ods", "csv"],
"slideView": ["ppt", "ppsx", "ppsm", "pps", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt", "key", "odg"],
"slideEdit": ["pptx", "potx", "pptm", "odp"],
"diagramView": ["vsdx", "vstx", "vssx", "vsdm", "vstm", "vssm"],
"diagramEdit": [],
"publicKey": "",
"modulus": "",
"exponent": 65537,
"privateKey": "",
"publicKeyOld": "",
"modulusOld": "",
"exponentOld": 65537,
"privateKeyOld": "",
"refreshLockInterval": "10m",
"dummy": {
  "enable": false,
  "sampleFilePath": ""
}
}

Inquilinos

ParámetroDescripciónTipoPor defecto
Define un directorio que limita los archivos que pueden ser accedidos por ONLYOFFICE Docs.cadena""
Define el nombre de dominio base del inquilino.cadena""
Define el nombre del archivo de configuración en la carpeta del inquilino para sobrescribir default.json. Se utiliza en el modo multi-inquilino para inicializar la configuración específica del inquilino (wopi, ipfilter, secreto jwt, etc.). cadena"config.json"
Define el nombre de archivo .pem donde se almacena la clave secreta del inquilino.cadena"secret.key"
Define el nombre del archivo donde se almacena la licencia del inquilino.cadena"license.lic"
Define el nombre de dominio del inquilino por defecto.cadena"localhost"
Define las propiedades de caché para leer la licencia multi-inquilino y el secreto.objeto
Define el TTL (tiempo de vida) para cada elemento de caché generado (medido en segundos).entero300
Define el período utilizado para el intervalo de verificación de eliminación automática (medido en segundos).entero60
Define si las variables en caché serán clonadas o no. Si es true, se creará una copia de la variable en caché. Si es false, solo se guardará la referencia.booleanofalse

Estos parámetros definen las propiedades de los inquilinos para trabajar en modo multi-inquilino.

Ejemplo
"tenants": {
    "baseDir" : "",
    "baseDomain" : "",
    "filenameConfig" : "config.json",
    "filenameSecret" : "secret.key",
    "filenameLicense" : "license.lic",
    "defaultTenant" : "localhost",
    "cache": {
        "stdTTL": 300,
        "checkperiod": 60,
        "useClones": false
    },
}

Solicitud externa

ParámetroDescripciónTipoPor defecto
Define las direcciones IP permitidas para solicitudes directas.objeto
Define una lista de direcciones IP confiables para las solicitudes directas.lista[]
Define si las direcciones IP confiables están en el JWT o no.booleanotrue
Define las opciones de solicitud externa.objeto
Define si las solicitudes externas están permitidas o no.booleanotrue
Define si la dirección IP privada será bloqueada o no.booleanotrue
Define la URL del proxy.cadena""
Define los parámetros de autenticación del proxy.objeto
Define el nombre de usuario para la autenticación del proxy.cadena""
Define la contraseña para la autenticación del proxy.cadena""
Define los encabezados del proxy.objeto{}

Estos parámetros definen la configuración de las solicitudes externas.

Ejemplo
"externalRequest": {
    "directIfIn" : {
        "allowList": [],
        "jwtToken": true
    },
    "action": {
        "allow": true,
        "blockPrivateIP": true,
        "proxyUrl": "",
        "proxyUser": {
            "username": "",
            "password": ""
        },
        "proxyHeaders": {
        }
    }
}

Servicios del Servidor de Documentos

Estos parámetros definen la configuración para los servicios del Servidor de Documentos.

ParámetroDescripciónTipoPor defecto
Define la configuración para la sesión de edición colaborativa.objeto

Servidor

ParámetroDescripciónTipoPor defecto
Define el puerto del servidor.entero8000
Define el número de hilos de trabajo por CPU.entero1
Define el modo del servidor.cadena"development"
Define un tamaño máximo para todos los archivos temporales subidos utilizados por cada proceso (medido en bytes).entero104857600
Define un tamaño máximo para todas las imágenes subidas en cada proceso (medido en bytes).entero26214400
Define las propiedades de tiempo de espera para la descarga de imágenes.objeto

Define un período que especifica dos tiempos de espera:

  • tiempo de espera de lectura - tiempo para esperar que un servidor envíe los encabezados de respuesta (y comience el cuerpo de la respuesta) antes de abortar la solicitud;
  • tiempo de espera de conexión - establece el socket para que expire después de un tiempo de inactividad. Tenga en cuenta que aumentar el tiempo de espera más allá del tiempo de espera de conexión TCP a nivel del sistema operativo no tendrá ningún efecto.

Este parámetro se envía al módulo npm.

cadena"2m"
Define todo el ciclo de solicitud: un período desde el inicio de la descarga hasta la descarga completa.cadena"2m"
Define las propiedades de tiempo de espera para la solicitud de devolución de llamada.objeto

Define un período que especifica dos tiempos de espera:

  • tiempo de espera de lectura - tiempo para esperar a que un servidor envíe los encabezados de respuesta (y comience el cuerpo de la respuesta) antes de abortar la solicitud;
  • tiempo de espera de conexión - establece el socket para que expire después de un tiempo de inactividad. Tenga en cuenta que aumentar el tiempo de espera más allá del tiempo de espera de conexión TCP del sistema operativo no tendrá ningún efecto.

Este parámetro se envía al módulo npm.

cadena"10m"
Define el tiempo de espera de todo el ciclo de solicitud.cadena"10m"
Define una ruta donde se enviarán las solicitudes de verificación de estado.cadena"../public/healthcheck.docx"
Define el tiempo de retraso para iniciar la conversión (medido en milisegundos) después de cerrar el archivo editado.entero5000
Define si el singleton puede ser editado o no.booleanofalse
Define un nombre de carpeta donde se almacenan todos los archivos olvidados.cadena"forgotten"
Define un nombre de archivo olvidado.cadena"output"
Define un tamaño máximo para los cambios de solicitud.entero20000
Define si los archivos protegidos con contraseña pueden ser abiertos o no.booleanotrue
Define si los usuarios anónimos tienen acceso al editor o a los visualizadores en vivo o no.booleanotrue
Define el almacenamiento de datos del editor. Los valores posibles: "editorDataRedis", "".cadena"editorDataRedis"
Define el almacenamiento de datos del editor para el cálculo de licencias y estadísticas (memoria local o redis). Los valores posibles son "editorDataMemory", "editorDataRedis", o "". El valor predeterminado "" significa que se utilizará el valor del parámetro editorDataStorage. Este parámetro se utiliza principalmente para un clúster fragmentado.cadena""
Define si el archivo ensamblado se guarda en su formato original o no.booleanotrue
Define una ruta al archivo de plantilla "nuevo" si se recibe un archivo de 0 bytes desde el enlace para abrir.cadena"../../document-templates/new"
Define las extensiones que se permiten descargar a través del manejador downloadFile.array de cadenas["pdf", "xlsx"]
Define si se validarán los parámetros de token requeridos. Esto es necesario por razones de seguridad. Por ejemplo, el token de conversión no se utilizará para abrir un documento.booleanotrue
Define si un archivo sin cambios puede ser guardado a la fuerza haciendo clic en el botón Guardar.booleanofalse

Estos parámetros definen la configuración del servidor.

Ejemplo
"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": "editorDataRedis",
        "editorStatStorage": "",
        "assemblyFormatAsOrigin": true,
        "newFileTemplate" : "../../document-templates/new",
        "downloadFileAllowExt": ["pdf", "xlsx"],
        "tokenRequiredParams": true,
        "forceSaveUsingButtonWithoutChanges": false
    }
}
}

Solicitud predeterminada

ParámetroDescripciónTipoPredeterminado
Define los encabezados de solicitud HTTP predeterminados.objeto
Define el encabezado de solicitud User-Agent predeterminado.cadena"Node.js/6.13"
Define el encabezado de solicitud Connection predeterminado.cadena"Keep-Alive"
Define si los certificados serán verificados por el Servidor de Documentos o no.booleanotrue

Estos parámetros definen la configuración de solicitud predeterminada.

Ejemplo
"services": {
"CoAuthoring": {
    "requestDefaults": {
        "headers": {
            "User-Agent": "Node.js/6.13",
            "Connection": "Keep-Alive"
        },
        "rejectUnauthorized": true
    }
}
}

Montaje automático

ParámetroDescripciónTipoPredeterminado
Define si el guardado forzado automático está habilitado o no.booleanofalse
Define el tiempo de intervalo en minutos para iniciar el guardado forzado automático.cadena"5m"
Define el retraso en minutos entre los intervalos.cadena"1m"

Estos parámetros definen la configuración del guardado forzado automático.

El guardado forzado automático solo se iniciará después de que se hayan realizado algunos cambios en el documento. Las versiones vacías no se guardarán automáticamente. Además, es necesario implementar la versionado de archivos en el sistema de gestión de documentos para que este parámetro funcione.
Ejemplo
"services": {
    "CoAuthoring": {
        "autoAssembly": {
            "enable": false,
            "interval": "5m",
            "step": "1m"
        }
    }
}

Utilidades

ParámetroDescripciónTipoPredeterminado
Define un directorio donde se almacenan todas las fuentes.cadena"null"
Define los patrones para buscar archivos de fuentes de las extensiones correspondientes.cadena"*.ttf;*.ttc;*.otf"
Define los formatos de imagen compatibles para la carga.cadena"jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"

Estos parámetros definen la configuración de utilidades.

Ejemplo
"services": {
    "CoAuthoring": {
        "utils": {
            "utils_common_fontdir": "null",
            "utils_fonts_search_patterns": "*.ttf;*.ttc;*.otf",
            "limits_image_types_upload": "jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"
        }
    }
}

SQL

ParámetroDescripciónTipoPredeterminado
Define el tipo de base de datos (mysql, mariadb, mssql, postgres, dameng, oracle).cadena"postgres"
Define el nombre de la tabla de base de datos donde se almacenan todos los cambios del documento.cadena"doc_changes"
Define el nombre de la tabla de base de datos donde se almacena el resultado de la consulta.cadena"task_result"
Define el host del servidor de base de datos (nombre del host o dirección IP).cadena"localhost"
Define el puerto del servidor de base de datos.entero5432
Define un nombre de base de datos que se creará al iniciar la imagen.cadena"onlyoffice"
Define un nuevo nombre de usuario con permisos de superusuario para la cuenta de base de datos.cadena"onlyoffice"
Define una contraseña establecida para la cuenta de base de datos.cadena"onlyoffice"
Define el conjunto de caracteres de la base de datos.cadena"utf8"
Define el número máximo de conexiones de usuario simultáneas al servidor de base de datos.entero10
Define el tamaño máximo de datos que se pueden enviar en una solicitud.entero1048575
Define los parámetros que se pueden pasar directamente a la biblioteca node-postgres pool.objeto
Define el número de milisegundos que un cliente debe permanecer inactivo en el pool y no ser utilizado antes de ser desconectado del backend y descartado. Establezca en 0 para desactivar la desconexión automática de clientes inactivos.entero30000
Define un número de segundos que representa la vida útil máxima.entero60000
Define un número de milisegundos antes de que el tiempo de espera de la declaración de consulta expire.entero60000
Define un número de milisegundos antes de que expire el tiempo de espera de una llamada de consulta.entero60000
Define el número de milisegundos para esperar una conexión.integer60000
Define los parámetros de la base de datos Dameng.object
Define si los nombres de las columnas están en mayúsculas o no.booleanfalse
Define el caso de los nombres de las columnas.string"lower"
Define el número de milisegundos para esperar una conexión.integer60000
Define si el cifrado de inicio de sesión está habilitado o no.booleanfalse
Define la zona horaria local.integer0
Define el número de segundos después de los cuales el pool termina las conexiones inactivas (no utilizadas en el pool).integer60
Define el número de milisegundos cuando una solicitud de conexión hecha por un cliente o un servidor no recibe una respuesta del otro extremo.integer60000
Define el número de milisegundos en los que los mensajes se retienen en la cola antes de ser descartados.integer60000
Define los parámetros de la base de datos Oracle.object
Define la conexión a Oracle en el Modo Grueso usando Oracle Instant Client en un clúster.booleantrue
Define el número de segundos para esperar una conexión.integer60
Define los parámetros de la base de datos MS SQL.object
Define las opciones de la base de datos MS SQL.object
Define si los datos se cifrarán antes de enviarlos a través de la red.booleanfalse
Define si ocurre un cifrado cuando no hay un certificado de servidor verificado.booleantrue
Define los parámetros del pool de conexiones.object
Define el número de milisegundos que un cliente debe permanecer inactivo en el pool y no ser revisado antes de ser desconectado del backend y descartado. Establecer en 0 para deshabilitar la desconexión automática de clientes inactivos.integer30000
Define los parámetros de conexión de la base de datos MySQL (incluyendo configuraciones SSL) que se pueden pasar directamente al módulo node-mysql2.object
Define el número de milisegundos para esperar una conexión.integer60000
Define el número de milisegundos antes de que una consulta se agote.integer60000

Estos parámetros definen la configuración de la base de datos.

Ejemplo
"services": {
    "CoAuthoring": {
        "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": {
                "thin": true,
                "connectTimeout": 60
            },
            "msSqlExtraOptions": {
                "options": {
                    "encrypt": false,
                    "trustServerCertificate": true
                },
                "pool": {
                    "idleTimeoutMillis": 30000
                }
            },
            "mysqlExtraOptions": {
                "connectTimeout": 60000,
                "queryTimeout": 60000
            }
        }
    }
}

Redis

ParámetroDescripciónTipoPredeterminado
Define el nombre de la base de datos, "redis" o "ioredis".string"redis"
Define el prefijo de nombre para todas las estructuras utilizadas en Redis.string"ds:"
Define el host del servidor Redis (nombre del host o dirección IP).string"127.0.0.1"
Define el puerto del servidor Redis.integer6379
Define los parámetros (nombre de usuario, contraseña, módulos, etc.) que se pueden pasar directamente a la biblioteca node-redis createClient.object{}
Define los parámetros (rootNodes, defaults, módulos, etc.) que se pueden pasar directamente a la biblioteca node-redis clustering para conectarse al clúster de Redis. Esta configuración tiene prioridad sobre el parámetro options para conectarse a un único Redis. object{}
Define los parámetros (nombre de usuario, contraseña, módulos, etc.) que se pueden pasar directamente a la biblioteca ioredis RedisOptions.object
Define si la conexión al servidor se retrasará hasta que se envíe el primer comando o se llame explícitamente a redis.connect().booleantrue
Define una lista de nodos del clúster a los que desea conectarse que se pueden pasar directamente a la biblioteca ioredis cluster para conectarse al clúster de Redis. Esta configuración tiene prioridad sobre el parámetro iooptions para conectarse a un único Redis. array[]
Define los parámetros (clusterRetryStrategy, dnsLookup, scaleReads, etc.) que se pueden pasar directamente a la biblioteca ioredis cluster para conectarse al clúster de Redis. Esta configuración tiene prioridad sobre el parámetro iooptions para conectarse a un único Redis. object
Define si la conexión al servidor se retrasará hasta que se envíe el primer comando o se llame explícitamente a redis.connect().booleantrue

Estos parámetros definen la configuración de Redis.

Ejemplo
"services": {
    "CoAuthoring": {
        "redis": {
            "name": "redis",
            "prefix": "ds:",
            "host": "127.0.0.1",
            "port": 6379,
            "options": {},
            "optionsCluster": {},
            "iooptions": {
                "lazyConnect": true
            },
            "iooptionsClusterNodes": [],
            "iooptionsClusterOptions": {
                "lazyConnect": true
            }
        }
    }
}

Servicio PubSub

ParámetroDescripciónTipoPor defecto
Define el tamaño máximo de los cambios que se pueden pasar a través de PubSub. Si el tamaño excede el valor especificado, los cambios se leerán desde la base de datos.integer1000

Este parámetro define la configuración del servicio PubSub.

Ejemplo
"services": {
    "CoAuthoring": {
        "pubsub": {
            "maxChanges": 1000
        }
    }
}

Expiración

ParámetroDescripciónTipoPor defecto
Define el tiempo para guardar bloqueos.integer60
Define el tiempo de vida para el estado de presencia del usuario.integer300
Define el tiempo de vida para los bloqueos.integer604800
Define el tiempo para cambiar índices.integer86400
Define el tiempo para bloquear documentos.integer30
Define el tiempo de vida para los mensajes.integer86400
Define el tiempo de vida para la última guardada en la base de datos ejecutada con éxito.integer604800
Define el tiempo de vida para la guardada forzada ejecutada con éxito.integer604800
Define el tiempo de vida para los bloqueos guardados forzadamente en modo clúster ioredis.integer5000
Define el tiempo de vida para la guardada en la base de datos ejecutada con éxito.integer3600
Define el tiempo para iniciar la comprobación, durante la cual se eliminan archivos antiguos de la caché (cada dos minutos por defecto).string"0 */2 * * * *"
Define el tiempo de vida para las carpetas en App_Data.integer86400
Define el tiempo para iniciar la verificación (cada hora por defecto).string"00 00 */1 * * *"
Define el número de carpetas de documentos eliminadas simultáneamente del caché.integer100

Define el tiempo de vida de una sesión inactiva. Este parámetro permite finalizar la sesión de edición para un usuario inactivo. También se utiliza para iniciar el procedimiento de guardado del documento al terminar la última sesión de edición. Así, define el tiempo después del cual un usuario inactivo será desconectado de la sesión de edición. Su formato de valor es "1s", "1m", "1h", "1d", etc.

Tenga en cuenta que por inactividad nos referimos a la ausencia de cualquier acción en el editor, incluido el movimiento del cursor.
string"1h"
Define el tiempo de vida para cualquier sesión de edición.string"30d"
Define el tiempo antes de que expire el sessionidle o sessionabsolute ttl cuando se envía un mensaje de advertencia.string"2m"
Define el tiempo de vida para los archivos PEM con secretos.string"1h"
Define el tiempo para verificar el ttl de los archivos PEM.string"10m"
Define el tiempo cuando el usuario puede abrir el archivo nuevamente después de que ocurra un error debido a la apertura de un archivo ya guardado usando la clave antigua.string"5m"
Define el tiempo de vida para la lista de usuarios únicos del mes.string"1y"

Estos parámetros definen la configuración de expiración.

Ejemplo
"services": {
"CoAuthoring": {
    "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"
    }
}
}

Filtro de IP

ParámetroDescripciónTipoPor defecto

Define las reglas del filtro de IP que contienen los siguientes parámetros:

  • address - la dirección IP del integrador. Este parámetro puede contener IP en el formato X.X.X.X para ipv4 o en el formato xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx para ipv6, nombre DNS o el comodín * para reemplazar cualquier símbolo/símbolos,
    tipo: string,
    ejemplo: "ip_address";
  • allowed - especifica si la dirección IP es de confianza o no,
    tipo: boolean,
    ejemplo: true.
array de objetos
Define si el filtro de IP se utiliza para la solicitud o no.booleanfalse
Define un código de error para el filtro de IP.integer403

Estos parámetros definen la configuración del filtro de IP.

Ejemplo
"services": {
"CoAuthoring": {
    "ipfilter": {
        "rules": [{"address": "*", "allowed": true}],
        "useforrequest": false,
        "errorcode": 403
    }
}
}

Agente de Filtrado de Solicitudes

ParámetroDescripciónTipoPor defecto
Define si se permite conectar una dirección IP privada o no. Esto incluye direcciones IP privadas y direcciones IP reservadas.booleanfalse
Define si se permite conectar una dirección IP meta o no. La dirección meta puede ser 0.0.0.0 (IPv4) o :: (IPv6) - una dirección meta que enruta otra dirección.booleanfalse

Estos parámetros definen la configuración del Agente de Filtrado de Solicitudes.

Ejemplo
"services": {
"CoAuthoring": {
    "request-filtering-agent" : {
        "allowPrivateIPAddress": false,
        "allowMetaIPAddress": false
    }
}
}

Clave secreta

ParámetroDescripciónTipoPor defecto

Define los parámetros de una clave secreta para generar un token en las solicitudes del navegador del lado del cliente a ONLYOFFICE Docs:

  • string - la clave secreta,
    tipo: string,
    ejemplo: "secret";
  • file - el archivo PEM donde se almacena el secreto,
    tipo: cadena,
    ejemplo: "".
objeto

Define los parámetros de una clave secreta para generar un token en las solicitudes HTTP entrantes con los comandos desde el servicio de almacenamiento de documentos hacia el servicio de comandos de documentos, servicio de conversión de documentos y servicio de creación de documentos:

  • cadena - la clave secreta,
    tipo: cadena,
    ejemplo: "secret";
  • archivo - el archivo PEM donde se almacena el secreto,
    tipo: cadena,
    ejemplo: "".
objeto

Define los parámetros de una clave secreta para generar un token en las solicitudes HTTP salientes a la dirección callbackUrl por el servicio de edición de documentos:

  • cadena - la clave secreta,
    tipo: cadena,
    ejemplo: "secret";
  • archivo - el archivo PEM donde se almacena el secreto,
    tipo: cadena,
    ejemplo: "".
objeto

Define los parámetros de una clave secreta para generar el token de sesión:

  • cadena - la clave secreta,
    tipo: cadena,
    ejemplo: "secret";
  • archivo - el archivo PEM donde se almacena el secreto,
    tipo: cadena,
    ejemplo: "".
objeto

Estos parámetros definen la configuración de la clave secreta.

Ejemplo
"services": {
    "CoAuthoring": {
        "secret": {
            "browser": {"string": "secret", "file": ""},
            "inbox": {"string": "secret", "file": ""},
            "outbox": {"string": "secret", "file": ""},
            "session": {"string": "secret", "file": ""}
        }
    }
}

Token

ParámetroDescripciónTipoPredeterminado
Define si los tokens están habilitados o no.objeto
Define si un token en las solicitudes del navegador del lado del cliente está habilitado o no.booleanofalse
Define si los tokens en las solicitudes HTTP están habilitados o no.objeto
Define si un token en las solicitudes HTTP entrantes está habilitado o no.booleanofalse
Define si un token en las solicitudes HTTP salientes está habilitado o no.booleanofalse
Define la configuración del token del navegador.objeto
Define si el token del navegador es igual al token de las solicitudes entrantes (true) o no (false).booleanotrue
Define la configuración de un token de las solicitudes entrantes.objeto
Define el encabezado HTTP que se utilizará para enviar el token de solicitud entrante.cadena"Authorization"
Define un prefijo en el encabezado HTTP que se utilizará para enviar el token de solicitud entrante.cadena"Bearer "
Define si un token está habilitado en el cuerpo de la solicitud entrante o no.booleanofalse
Define la configuración de un token de las solicitudes salientes.objeto
Define el encabezado HTTP que se utilizará para enviar el token de solicitud saliente.cadena"Authorization"
Define un prefijo en el encabezado HTTP que se utilizará para enviar el token de solicitud saliente.cadena"Bearer "
Define un algoritmo que se utiliza para firmar el token de solicitud saliente.cadena"HS256"
Define un período cuando el token de solicitud saliente expira.cadena"5m"
Define si un token está habilitado en el cuerpo de la solicitud saliente o no.booleanofalse
Define la expresión regular que especifica las URL de las cuales se debe excluir la autorización. La cadena vacía significa que esta opción está deshabilitada.cadena""
Define la configuración del token de sesión.objeto
Define un algoritmo que se utiliza para firmar el token de sesión.cadena"HS256"
Define un período cuando el token de sesión expira.cadena"30d"
Define las opciones de verificación del token.objeto
Define un número de segundos que es aceptable al tratar con las diferencias de reloj entre diferentes servidores.entero60

Estos parámetros definen la configuración del token.

Ejemplo
"services": {
"CoAuthoring": {
    "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
        }
    }
}
}

Extensiones

ParámetroDescripciónTipoPredeterminado
Define una ruta a la carpeta donde se almacenan todos los plugins.cadena"/sdkjs-plugins"
Define una lista de plugins que se ejecutan automáticamente.lista[]

Estos parámetros definen la configuración de los plugins.

Ejemplo
"services": {
"CoAuthoring": {
    "plugins": {
        "uri": "/sdkjs-plugins",
        "autostart": []
    }
}
}

Temas

ParámetroDescripciónTipoPredeterminado
Define una ruta a la carpeta donde se almacenan todos los archivos json con los temas de color personalizados.cadena"/web-apps/apps/common/main/resources/themes"

Este parámetro define las propiedades de los temas de color personalizados.

Ejemplo
"services": {
"CoAuthoring": {
    "themes": {
        "uri": "/web-apps/apps/common/main/resources/themes"
    }
}
}

Editor

ParámetroDescripciónTipoPredeterminado
Define una ruta al corrector ortográfico.cadena""
Define la configuración para reconectar el editor al servidor.objeto
Define un número máximo de intentos para reconectar el editor.entero50
Define el retraso de intento para reconectar el editor.cadena"2s"
Define si los cambios del documento se guardan en formato binario (true) o JSON (false).booleanofalse
Define un tamaño máximo de carga útil de WebSocket.cadena"1.5MB"
Define un límite en el tamaño total de los cambios realizados en el documento. Cuando se excede el límite, el usuario recibe un cuadro de diálogo con una sugerencia para cancelar la última acción o cambiar al modo sin conexión. Esta configuración está deshabilitada por defecto.cadena"150MB"

Estos parámetros definen la configuración del editor.

Ejemplo
"services": {
"CoAuthoring": {
    "editor":{
        "spellcheckerUrl": "",
        "reconnection":{
            "attempts": 50,
            "delay": "2s"
        },
        "binaryChanges": false,
        "websocketMaxPayloadSize": "1.5MB",
        "maxChangesSize": "150MB"
    }
}
}

SockJs

ParámetroDescripciónTipoPredeterminado
Define una ruta al archivo sockjs.min.js.cadena""
Define si CORS estará deshabilitado o no. El valor true previene la vulnerabilidad del encabezado Access-Control-Allow-Origin.booleanotrue
Define si el protocolo WebSocket está habilitado o no.booleanotrue

Estos parámetros definen la configuración de SockJs.

Ejemplo
"services": {
    "CoAuthoring": {
        "sockjs": {
            "sockjs_url": "",
            "disable_cors": true,
            "websocket": true
        }
    }
}

Socket.IO

ParámetroDescripciónTipoPor defecto
Define las propiedades de la conexión.objeto
Define la ruta que se captura en el lado del servidor.cadena"/doc/"
Define si los archivos del cliente serán servidos o no.booleanofalse
Define el período de tiempo de espera en milisegundos dentro del cual el cliente debe responder con un pong al ping del servidor. Si no hay respuesta, el servidor considera que la conexión está cerrada. La conexión entre el servidor y el cliente se verifica cada pingInterval milisegundos. entero20000
Define el tiempo de intervalo en milisegundos, que se utiliza para verificar si la conexión sigue activa entre el servidor y el cliente. El servidor envía un paquete de ping al cliente, y si el cliente no responde con un pong dentro de un período de pingTimeout, el servidor considera que la conexión está cerrada. entero25000
Define el número máximo de bytes que puede tener un solo mensaje antes de cerrar el socket.entero1e8

Estos parámetros definen la configuración del módulo Socket.IO.

Ejemplo
"socketio": {
    "connection": {
        "path": "/doc/",
        "serveClient": false,
        "pingTimeout": 20000,
        "pingInterval": 25000,
        "maxHttpBufferSize": 1e8
    }
}

Opciones de retroceso de callback

ParámetroDescripciónTipoPor defecto
Define la cantidad máxima de veces para reintentar la operación.entero3
Define los tiempos de espera de retroceso de callback.objeto
Define el factor exponencial a utilizar.entero2
Define el número de milisegundos antes de comenzar el primer intento.entero1000
Define el número máximo de milisegundos entre dos reintentos.entero2147483647
Define si los tiempos de espera se aleatorizan multiplicando con un factor entre 1 y 2 o no.booleanofalse
Define los estados HTTP del retroceso de callback.cadena"429,500-599"

Estos parámetros definen las opciones de retroceso de callback.

Ejemplo
"services": {
    "CoAuthoring": {
        "callbackBackoffOptions": {
            "retries": 3,
            "timeout":{
                "factor": 2,
                "minTimeout": 1000,
                "maxTimeout": 2147483647,
                "randomize": false
            },
            "httpStatus": "429,500-599"
        }
    }
}

Licencia

ParámetroDescripciónTipoPor defecto
Define una ruta al archivo de licencia.cadena""
Define un rango porcentual de las limitaciones de conexiones y conexiones_view, superando el cual aparece una advertencia de límite de licencia en los registros. entero70

Define el tipo de paquete de licencia: 2 - Developer Edition.

Este parámetro se establece en el momento de la compilación de la versión. No es necesario configurarlo manualmente.
entero2
Define el tiempo antes de que expire la licencia cuando se envía un mensaje de advertencia.cadena"30d"

Estos parámetros definen la configuración de la licencia.

Ejemplo
"license" : {
    "license_file": "",
    "warning_limit_percents": 70,
    "packageType": 2,
    "warning_license_expiration": "30d"
}

Convertidor

ParámetroDescripciónTipoPor defecto
Define las propiedades del convertidor.objeto
Define un tamaño máximo del archivo solicitado (medido en bytes).entero104857600
Define las propiedades de tiempo de espera para descargar el archivo convertido.objeto

Define un período que especifica dos tiempos de espera:

  • tiempo de espera de lectura - tiempo para esperar que un servidor envíe los encabezados de respuesta (y comience el cuerpo de la respuesta) antes de abortar la solicitud;
  • tiempo de espera de conexión - establece el socket para que expire después de un tiempo de inactividad. Tenga en cuenta que aumentar el tiempo de espera más allá del tiempo de espera de conexión TCP del sistema operativo no tendrá ningún efecto.

Este parámetro se envía al módulo npm.

cadena"2m"
Define el tiempo de espera del ciclo completo de la solicitud.cadena"2m"
Define un número máximo de intentos para descargar el archivo convertido.entero3
Define el retraso de intento para descargar el archivo convertido.entero1000
Define un número máximo de procesos de conversión que pueden estar activos al mismo tiempo.entero1
Define una ruta a la carpeta con fuentes.cadena"null"
Define una ruta a la carpeta con los temas de presentación.cadena"null"
Define una ruta al convertidor de archivos x2t.cadena"null"
Define una ruta a la aplicación Document Builder.cadena"null"
Define los parámetros adicionales para ejecutar x2t.cadena""
Define los parámetros que se pueden pasar directamente a la biblioteca node.js child_process.spawn (solo para ejecutar x2t).objeto{}
Define una ruta a los archivos de error.cadena""
Define el tamaño del búfer del StreamWriter.entero8388608
Define un número máximo de reenvíos de mensajes.entero2
Define límites para los archivos de entrada.objeto
Define los tipos de archivos OOXML para los cuales se especifican los límites (documentos de texto/hojas de cálculo/presentaciones). Esto no incluye otros objetos, como imágenes.cadena"docx;dotx;docm;dotm"/"xlsx;xltx;xlsm;xltm"/"pptx;ppsx;potx;pptm;ppsm;potm"
Define las propiedades del archivo zip.objeto
Define el tamaño total del archivo descomprimido para documentos de texto/hojas de cálculo/presentaciones.cadena"50MB"/"300MB"/"50MB"
Define la plantilla de nombre para los archivos cuyos tamaños se cuentan.cadena"*.xml"

Estos parámetros definen la configuración del convertidor de archivos.

Ejemplo
"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"
            }
            }
        ]
    }
}
Artículos con etiqueta:
Ver todas las etiquetas