• Home
  • Configurar o ONLYOFFICE Docs Community Edition

Configurar o ONLYOFFICE Docs Community Edition

Introdução

Para alterar qualquer configuração do servidor ONLYOFFICE Docs, configure o parâmetro correspondente no arquivo de configuração do ONLYOFFICE Docs, que pode ser encontrado no seguinte caminho:

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

Se desejar alterá-lo, você pode usar o arquivo local.json, onde todos os parâmetros editados devem ser armazenados. Este arquivo está localizado no mesmo diretório que o arquivo default.json, e toda a estrutura de objetos para o parâmetro necessário deve ser mantida.

Por favor, não edite o conteúdo do arquivo default.json diretamente. Os valores padrão serão restaurados sempre que você reiniciar o contêiner Docker ou atualizar o ONLYOFFICE Docs para uma nova versão, e todas as suas alterações serão perdidas.

As configurações padrão do servidor são descritas abaixo.

Painel de Controle

ParâmetroDescriçãoTipoPadrão
Define se as métricas do StatsD estão ativadas para o ONLYOFFICE Docs ou não.booleanofalse
Define o host do servidor StatsD (nome do host ou endereço IP).string"localhost"
Define a porta do servidor StatsD.string"8125"
Define uma string que será adicionada automaticamente ao início de todas as estatísticas. Isso ajuda a distinguir diferentes aplicações que usam o mesmo servidor StatsD.string"ds."

Estes parâmetros definem as propriedades do servidor StatsD, especificando um agregador de métricas.

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

Configurações do plugin de IA

ParâmetroDescriçãoTipoPadrão
Define ações realizadas pela IA, por exemplo, Chat, Resumo, Tradução, Análise de Texto, Geração de Imagem, OCR, Visão.objeto
Define modelos de IA, por exemplo, gemini-1.5-pro-latest, llama3.2:latest, etc.array[]
Define provedores de IA, por exemplo, OpenAI, Google Gemini, Anthropic, etc.objeto
Define a versão do SDK de IA.inteiro3
Define um tempo limite (timeout) do proxy de IA (medido em minutos).string"5m"
Define quais sites externos têm permissão para fazer solicitações de origem cruzada (CORS) para o servidor.array de strings["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"]
Suporta o roteamento de solicitações de IA via proxy.string""

Estes parâmetros definem as propriedades do plugin de IA.

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

Logger

ParâmetroDescriçãoTipoPadrão
Define um caminho para o arquivo de log.string""
Define as opções de log.objeto
Define se as informações de log são impressas no console ou não.booleanotrue

Estes parâmetros definem as propriedades do registrador (logger).

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

Configuração de tempo de execução

ParâmetroDescriçãoTipoPadrão
Define um caminho para o arquivo de configuração dinâmica runtime.json. Por padrão, o caminho /var/www/onlyoffice/Data/runtime.json é usado.string""
Define as opções de cache do runtime.json.objeto
Define o TTL (tempo de vida) para cada elemento de cache gerado (medido em segundos).inteiro300
Define o período usado para o intervalo de verificação de exclusão automática (medido em segundos).inteiro60
Define se as variáveis em cache serão clonadas ou não. Se for true, uma cópia da variável em cache será criada. Se for false, apenas a referência será salva.booleanofalse

Estes parâmetros definem as propriedades do arquivo de configuração dinâmica runtime.json. Este arquivo permite alterar parâmetros sem reiniciar. O arquivo é lido novamente com base em um evento de monitoramento (watch event) ou a cada 5 minutos.

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

Filas

ParâmetroDescriçãoTipoPadrão
Define o tipo de corretor de mensagens (message broker).string"rabbitmq"
Define o tempo limite de conversão (medido em segundos).inteiro300
Define o TTL (tempo de vida) de todas as mensagens em uma fila (medido em segundos).inteiro900

Estes parâmetros definem uma fila de mensagens recebidas do corretor de mensagens.

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

E-mail

ParâmetroDescriçãoTipoPadrão
Define as configurações básicas para conexão com o servidor SMTP.objeto
Define o nome do host ou endereço IP do servidor SMTP.string"localhost"
Define a porta do servidor SMTP.inteiro587
Define os dados de autenticação.objeto

Define o nome de usuário para autenticação.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""

Define a senha para autenticação.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""
Define as opções técnicas para conexão com o servidor SMTP.objeto
Define se deve permitir o uso de arquivos como conteúdo. Se este parâmetro for definido como true, dados JSON de uma fonte não confiável não poderão ser usados como e-mail. Se um anexo ou nó de mensagem tentar buscar algo de um arquivo, o envio retornará um erro. booleanofalse
Define se deve permitir o uso de URLs como conteúdo.booleanofalse
Define as configurações da mensagem de e-mail.objeto
Define o endereço de e-mail do remetente. Todos os endereços de e-mail podem ser simples "remetente@servidor.com" ou com nome formatado '"Nome do Remetente" remetente@servidor.com'. string"from@example.com"
Define a lista separada por vírgulas ou um array de endereços de e-mail de destinatários que aparecerão no campo Para:.string"to@example.com"

Estes parâmetros definem as configurações de um servidor de e-mail externo, que é usado para enviar notificações. Para conectar ao servidor de e-mail, é utilizada a biblioteca nodemailer. Muitas definições de configuração são passadas diretamente para esta biblioteca.

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

Notificação

ParâmetroDescriçãoTipoPadrão
Define as regras de configurações de notificação para quatro tipos de notificação: licenseExpirationWarning, licenseExpirationError, licenseLimitEdit, licenseLimitLiveViewer. objeto
Define as regras para as configurações da notificação licenseExpirationWarning.objeto
Define se a notificação licenseExpirationWarning está ativada. Cada tipo de notificação deve ser ativado separadamente.booleanofalse
Define a forma de envio da notificação licenseExpirationWarning. Atualmente, apenas o tipo email está disponível.array de strings["email"]
Define um modelo para o título e o corpo da notificação licenseExpirationWarning.objeto
Define um modelo para o título da notificação licenseExpirationWarning.string"%s Docs license expiration warning"
Define um modelo para o corpo da notificação licenseExpirationWarning.string"Atenção! Sua licença expirará em %s.\nAo atingir esta data, você não terá mais direito a receber suporte técnico pessoal e instalar novas versões do Docs lançadas após esta data."
Define a política de envio da notificação licenseExpirationWarning.objeto
Define o momento em que a notificação licenseExpirationWarning será enviada (não mais do que o período especificado).string"1d"
Define as regras para as configurações da notificação licenseExpirationError.objeto
Define se a notificação licenseExpirationError está ativada. Cada tipo de notificação deve ser ativado separadamente.booleanofalse
Define a forma de envio da notificação licenseExpirationError. Atualmente, apenas o tipo email está disponível.array de strings["email"]
Define um modelo para o título e o corpo da notificação licenseExpirationError.objeto
Define um modelo para o título da notificação licenseExpirationError.string"%s Docs license expiration warning"
Define um modelo para o corpo da notificação licenseExpirationError.string"Atenção! Sua licença expirou em %s.\nVocê não tem mais direito a receber suporte técnico pessoal e instalar novas versões do Docs lançadas após esta data.\nEntre em contato com sales@onlyoffice.com para discutir a renovação da licença."
Define a política de envio da notificação licenseExpirationError.objeto
Define o momento em que a notificação licenseExpirationError será enviada (não mais do que o período especificado).string"1d"
Define as regras para as configurações da notificação licenseLimitEdit.objeto
Define se a notificação licenseLimitEdit está ativada. Cada tipo de notificação deve ser ativado separadamente.booleanofalse
Define a forma de envio da notificação licenseLimitEdit. Atualmente, apenas o tipo email está disponível.array de strings["email"]
Define um modelo para o título e o corpo da notificação licenseLimitEdit.objeto
Define um modelo para o título da notificação licenseLimitEdit.string"%s Docs license connection limit warning"
Define um modelo para o corpo da notificação licenseLimitEdit.string"Atenção! Você atingiu %s%% do limite de %s definido pela sua licença."
Define a política de envio da notificação licenseLimitEdit.objeto
Define o momento em que a notificação licenseLimitEdit será enviada (não mais do que o período especificado).string"1d"
Define as regras para as configurações da notificação licenseLimitLiveViewer.objeto
Define se a notificação licenseLimitLiveViewer está ativada. Cada tipo de notificação deve ser ativado separadamente.booleanofalse
Define a forma de envio da notificação licenseLimitLiveViewer. Atualmente, apenas o tipo email está disponível.array de strings["email"]
Define um modelo para o título e o corpo da notificação licenseLimitLiveViewer.objeto
Define um modelo para o título da notificação licenseLimitLiveViewer.string"%s Docs license connection limit warning"
Define um modelo para o corpo da notificação licenseLimitLiveViewer.string"Atenção! Você atingiu %s%% do limite de %s definido pela sua licença."
Define a política de envio da notificação licenseLimitLiveViewer.objeto
Define o momento em que a notificação licenseLimitLiveViewer será enviada (não mais do que o período especificado).string"1d"

Estes parâmetros definem as configurações de notificação.

Notificações com os seguintes tipos de eventos e conteúdos são enviadas:

  • 70% da quota de conexões (quota de usuários únicos) é excedida.

    Aviso de limite de conexão da licença: "Atenção! Você atingiu 70% do limite de conexões definido pela sua licença."

  • A quota de conexões (quota de usuários únicos) é atingida.

    Aviso de limite de conexão da licença: "Atenção! Você atingiu 100% do limite de conexões definido pela sua licença."

  • 30 dias antes da expiração da licença.

    Aviso de expiração de licença: "Atenção! Sua licença expirará em 8 de setembro de 2024. Ao atingir esta data, você não terá mais direito a receber suporte técnico pessoal e instalar novas versões do Docs lançadas após esta data."

  • A licença expirou.

    Aviso de limite de conexão da licença: "Atenção! Sua licença expirou em 8 de setembro de 2024. Você não tem mais direito a receber suporte técnico pessoal e instalar novas versões do Docs lançadas após esta data. Entre em contato com sales@onlyoffice.com para discutir a renovação da licença."

Essas notificações são registradas no log do servidor com o nível WARN ou ERROR.

Exemplo
"notification": {
    "rules": {
        "licenseExpirationWarning": {
            "enable": false,
            "transportType": [
                "email"
            ],
            "template": {
                "title": "Aviso de expiração da licença do %s Docs",
                "body": "Atenção! Sua licença expirará em %s.\nAo atingir esta data, você não terá mais direito a receber suporte técnico pessoal e instalar novas versões do Docs lançadas após esta data."
            },
            "policies": {
                "repeatInterval": "1d"
            }
        },
        "licenseExpirationError": {
            "enable": false,
            "transportType": [
                "email"
            ],
            "template": {
                "title": "Aviso de expiração da licença do %s Docs",
                "body": "Atenção! Sua licença expirou em %s.\nVocê não tem mais direito a receber suporte técnico pessoal e instalar novas versões do Docs lançadas após esta data.\nEntre em contato com sales@onlyoffice.com para discutir a renovação da licença."
            },
            "policies": {
                "repeatInterval": "1d"
            }
        },
        "licenseLimitEdit": {
            "enable": false,
            "transportType": [
                "email"
            ],
            "template": {
                "title": "Aviso de limite de conexões da licença do %s Docs",
                "body": "Atenção! Você atingiu %s%% do limite de %s definido pela sua licença."
            },
            "policies": {
                "repeatInterval": "1h"
            }
        },
        "licenseLimitLiveViewer": {
            "enable": false,
            "transportType": [
                "email"
            ],
            "template": {
                "title": "Aviso de limite de conexões da licença do %s Docs",
                "body": "Atenção! Você atingiu %s%% do limite de %s de visualização ao vivo definido pela sua licença."
            },
            "policies": {
                "repeatInterval": "1h"
            }
        }
    }
}

Serviço de armazenamento de documentos

ParâmetroDescriçãoTipoPadrão
Define o nome do serviço de armazenamento de documentos. Por exemplo, o valor "storage-s3" permite conectar um bucket Amazon S3 como cache. O valor "storage-az" permite conectar o MS Azure Blob Storage como cache.string"storage-fs"
Define os parâmetros de um objeto fileSystem.objeto
Define um caminho para a pasta App_Data onde todos os arquivos são armazenados.string""
Define o tempo em que a URL temporária para o objeto fileSystem expira (medido em segundos).inteiro900
Define a string secreta que é usada para assinar a URL.string"verysecretstring"
Define uma região AWS onde seu bucket da Amazon reside.string""
Define o endpoint do armazenamento de documentos S3 AWS ou MS Azure Blob Storage.string"http://localhost/s3"
Define um nome exclusivo para o armazenamento de documentos S3 AWS ou MS Azure Blob Storage.string"cache"
Define o nome da pasta do armazenamento de documentos S3 AWS onde todos os arquivos são armazenados.string"files"
Define o nome da pasta de cache para trabalhar no modo multilocatário (multi-tenant).string"data"
Define parâmetros que permitem personalizar comandos para um armazenamento, por exemplo, habilitando o AWS KMS.objeto
Define parâmetros que permitem personalizar comandos para o armazenamento de documentos S3 AWS.objeto
Define parâmetros do tipo de comando putObject usado para carregar um objeto em um bucket S3 especificado.objeto
Define o tipo de criptografia para o novo objeto carregado. Os valores disponíveis são "aws:kms" ou "AES256".string
Esta é uma configuração opcional. Otimiza o custo por solicitação reduzindo as chamadas para a API KMS.booleano
Define o identificador (ARN ou chave) da Chave Gerenciada pelo Cliente no AWS KMS que é usada para criptografar o objeto após o upload.string
Define parâmetros do tipo de comando getObject usado para recuperar um objeto de um bucket S3 especificado.objeto
Define parâmetros do tipo de comando copyObject usado para criar uma cópia de um objeto armazenado em um bucket S3 especificado.objeto
Define o tipo de criptografia para o novo objeto copiado. Os valores disponíveis são "aws:kms" ou "AES256".string
Esta é uma configuração opcional. Otimiza o custo por solicitação reduzindo as chamadas para a API KMS.booleano
Define o identificador (ARN ou chave) da Chave Gerenciada pelo Cliente no AWS KMS que é usada para criptografar o objeto após a cópia.string
Define como o Amazon S3 deve lidar com os metadados do objeto de destino durante uma operação de cópia. Se o valor for definido como "COPY", os metadados do objeto de origem serão copiados para o objeto de destino. Se o valor for definido como "REPLACE", os metadados do objeto de destino serão substituídos pelos metadados fornecidos na solicitação copyObject e os metadados do objeto de origem não serão copiados.string"COPY"
Define parâmetros do tipo de comando listObjects usado para recuperar uma lista de objetos dentro de um bucket S3 especificado.objeto
Define o número máximo de objetos que são retornados em uma resposta.inteiro1000
Define parâmetros do tipo de comando deleteObject usado para remover um objeto de um bucket S3 especificado.objeto
Define parâmetros que permitem personalizar comandos para o MS Azure Blob Storage.objeto
Define parâmetros do tipo de comando uploadData usado para carregar dados no MS Azure Blob Storage.objeto
Define o nome do escopo de criptografia usado para criptografar um blob carregado.string
Define parâmetros do tipo de comando uploadStream usado para carregar dados de um fluxo (stream) para o MS Azure Blob Storage.objeto
Define o nome do escopo de criptografia usado para criptografar um blob carregado de um fluxo.string
Define parâmetros do tipo de comando download usado para baixar dados do MS Azure Blob Storage.objeto
Define parâmetros do tipo de comando syncCopyFromURL usado para copiar um blob de uma URL de origem para um blob de destino.objeto
Define o nome do escopo de criptografia usado para criptografar um blob copiado.string
Define parâmetros do tipo de comando listBlobsFlat usado para recuperar uma lista de todos os blobs em um contêiner.objeto
Define o número máximo de blobs a serem retornados.inteiro1000
Define parâmetros do tipo de comando deleteBlob usado para remover um blob.objeto
Define o tempo em que a URL para o armazenamento de documentos S3 AWS expira (medido em milissegundos).inteiro604800
Define um ID de chave para acessar o armazenamento de documentos S3 AWS ou MS Azure Blob Storage.string""
Define uma chave secreta para acessar o armazenamento de documentos S3 AWS ou MS Azure Blob Storage.string""
Define se o SSL do armazenamento de documentos S3 AWS está ativado ou não.booleanofalse
Define se as solicitações para o armazenamento de documentos S3 AWS sempre usam o endereçamento de estilo de caminho (path style addressing).booleanotrue
Define um host externo que é usado em vez do host especificado na solicitação.string""
Define a emissão de links para um armazenamento externo: links diretos ou links que são intermediados (proxied) pelo Document Server. Definir este parâmetro como true habilita links diretos, enquanto o valor false permite o uso de links internos (o servidor faz o proxy das solicitações para o armazenamento).booleanofalse

Estes parâmetros definem a configuração do serviço de armazenamento de documentos.

Exemplo
"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
  }

Armazenamento persistente

Estes parâmetros definem as configurações do armazenamento persistente, que é utilizado para separar as definições do armazenamento de arquivos de cache de documentos e o armazenamento de arquivos esquecidos e com erro. As configurações que não forem especificadas neste objeto são herdadas do objeto storage. Essa separação é conveniente para atualizações de servidor.

Exemplo
"persistentStorage": {
}

RabbitMQ

ParâmetroDescriçãoTipoPadrão

Define a URL do RabbitMQ.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string"amqp://localhost:5672"

Define as opções de socket do RabbitMQ que serão passadas para a biblioteca de socket (net ou tls). Estas opções devem ser campos definidos no objeto fornecido. As opções de socket podem ser usadas para a conexão SSL e podem conter os seguintes campos:

  • cert – define um certificado para apresentar ao servidor (em formato PEM ou pkcs12),
    tipo: string,
    exemplo: "";
  • key – define a chave privada do certificado (em formato PEM ou pkcs12),
    tipo: string,
    exemplo: "";
  • passphrase – define uma frase secreta para a chave privada,
    tipo: string,
    exemplo: "MinhaSenhaSecreta";
  • ca – define uma lista dos certificados CA em formato PEM nos quais confiaremos, já que estamos usando um certificado autoassinado,
    tipo: array,
    exemplo: [];
  • noDelay – define se o TCP_NODELAY (algoritmo de Nagle) está configurado no socket subjacente ou não,
    tipo: booleano,
    exemplo: true.
objeto{}
Define o servidor de troca Publisher Subscriber (Publicador/Assinante).objeto
Define um nome para o servidor Publisher Subscriber.string"ds.pubsub"
Define as configurações do servidor Publisher Subscriber.objeto
Define se a fila sobreviverá a reinicializações do corretor (broker).booleanotrue
Define a fila Publisher Subscriber.objeto
Define um nome para a fila Publisher Subscriber.string""
Define as configurações da fila Publisher Subscriber.objeto
Define se a fila será excluída quando o número de consumidores cair para zero.booleanotrue
Define se a fila será restrita à conexão atual.booleanotrue
Define os argumentos adicionais, geralmente parâmetros para algum tipo de extensão específica do corretor, por exemplo, alta disponibilidade, TTL.objeto
Define um valor do cabeçalho x-queue-type que especifica o tipo de fila. Apenas filas clássicas podem ser usadas.string"classic"
Define uma fila de tarefas.objeto
Define um nome para a fila de tarefas.string"ds.converttask6"
Define as configurações da fila de tarefas.objeto
Define se a fila sobreviverá a reinicializações do corretor.booleanotrue
Define uma prioridade de fila.inteiro6
Define os argumentos adicionais, geralmente parâmetros para algum tipo de extensão específica do corretor, por exemplo, alta disponibilidade, TTL.objeto
Define um valor do cabeçalho x-queue-type que especifica o tipo de fila. Esta configuração pode ser usada para definir as filas quorum.string"classic"
Define uma fila de respostas.objeto
Define um nome para a fila de respostas.string"ds.convertresponse"
Define as configurações da fila de respostas.objeto
Define se a fila sobreviverá a reinicializações do corretor.booleanotrue
Define os argumentos adicionais, geralmente parâmetros para algum tipo de extensão específica do corretor, por exemplo, alta disponibilidade, TTL.objeto
Define um valor do cabeçalho x-queue-type que especifica o tipo de fila. Esta configuração pode ser usada para definir as filas quorum.string"classic"
Define uma troca de mensagens mortas (dead letter exchange).objeto
Define um nome para a troca de mensagens mortas.string"ds.exchangeconvertdead"
Define as configurações da troca de mensagens mortas.objeto
Define se a fila sobreviverá a reinicializações do corretor.booleanotrue
Define uma fila de mensagens mortas (dead letter queue).objeto
Define um nome para a fila de mensagens mortas.string"ds.convertdead"
Define as configurações da fila de mensagens mortas.objeto
Define se a fila sobreviverá a reinicializações do corretor.booleanotrue
Define os argumentos adicionais, geralmente parâmetros para algum tipo de extensão específica do corretor, por exemplo, alta disponibilidade, TTL.objeto
Define um valor do cabeçalho x-queue-type que especifica o tipo de fila. Esta configuração pode ser usada para definir as filas quorum.string"classic"
Define a fila atrasada (delayed queue).objeto
Define um nome para a fila atrasada.string"ds.delayed"
Define as configurações da fila atrasada.objeto
Define se a fila sobreviverá a reinicializações do corretor.booleanotrue
Define os argumentos adicionais, geralmente parâmetros para algum tipo de extensão específica do corretor, por exemplo, alta disponibilidade, TTL.objeto
Define um valor do cabeçalho x-queue-type que especifica o tipo de fila. Esta configuração pode ser usada para definir as filas quorum.string"classic"

Estes parâmetros definem a configuração do corretor de mensagens RabbitMQ.

Exemplo
"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âmetroDescriçãoTipoPadrão
Define as opções de conexão do ActiveMQ.objeto
Define uma porta do servidor ao qual o contêiner ActiveMQ está conectado.inteiro5672
Define um host (nome de host ou endereço IP) do servidor ao qual o contêiner ActiveMQ está conectado.string"localhost"
Define se o módulo ActiveMQ tentará se reconectar automaticamente se for desconectado (true) ou não (false).booleanofalse
Define uma fila de tarefas.string"ds.converttask"
Define uma fila de respostas.string"ds.convertresponse"
Define uma fila de mensagens mortas (dead letter queue).string"ActiveMQ.DLQ"
Define a fila atrasada (delayed queue).string"ds.delayed"
Define o tópico Publisher Subscriber.string"ds.pubsub"

Estes parâmetros definem a configuração do corretor de mensagens ActiveMQ.

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

Cache DNS

ParâmetroDescriçãoTipoPadrão
Define se o cache DNS está ativado ou não.booleanotrue
Define o tempo em que os registros DNS expiram (medido em segundos).inteiro300
Define o tamanho do cache DNS.inteiro1000

Estes parâmetros definem a configuração do cache DNS que é usado para o filtro de IP.

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

Protocolo OpenPGP

ParâmetroDescriçãoTipoPadrão
Define a configuração do protocolo OpenPGP.objeto{}
Define as configurações de criptografia OpenPGP.objeto
Define uma senha que é usada para a criptografia OpenPGP.array de strings["verysecretstring"]
Define as configurações de descriptografia OpenPGP.objeto
Define uma senha que é usada para a descriptografia OpenPGP.array de strings["verysecretstring"]

Estes parâmetros definem as configurações do protocolo OpenPGP, que é usado para criptografar a senha ao abrir um documento criptografado para edição.

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

Algoritmo AES-256-GCM

ParâmetroDescriçãoTipoPadrão
Define a configuração do algoritmo AES-256-GCM.objeto
Define o comprimento da chave medido em bytes.inteiro32
Define o comprimento do salt medido em bytes.inteiro64
Define o comprimento do vetor de inicialização medido em bytes.inteiro16
Define o comprimento das iterações medido em bytes.inteiro5
Define uma senha que é usada para a criptografia AES-256-GCM.string"verysecretstring"

Estes parâmetros definem as configurações do algoritmo de criptografia AES-256-GCM usado para proteção por senha dos documentos.

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

Bottleneck

ParâmetroDescriçãoTipoPadrão
Define as opções do construtor para gerar limitadores para o controle de fluxo (throttling) das solicitações ao banco de dados.objeto{}

Este parâmetro define a configuração do Bottleneck.

Exemplo
"bottleneck": {
    "getChanges": {
    }
}

Certificados de Raiz do Sistema Windows

ParâmetroDescriçãoTipoPadrão
Define o modo de injeção dos Certificados de Raiz do Sistema Windows. O "+" significa que um novo método experimental é usado para instalar certificados.string"+"

Este parâmetro define as configurações dos Certificados de Raiz do Sistema Windows.

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

WOPI

ParâmetroDescriçãoTipoPadrão
Define se o WOPI está ativado ou não.booleanofalse
Define o host WOPI (nome do host ou endereço IP).string""
Define um caminho para o modelo HTML do WOPI.string"../../web-apps/apps/api/wopi"
Define uma zona que o Document Server utiliza para navegar o navegador até o aplicativo WOPI.string"external-http"
Define um caminho para o favicon do editor de documentos.string"/web-apps/apps/documenteditor/main/resources/img/favicon.ico"
Define um caminho para o favicon do editor de planilhas.string"/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico"
Define um caminho para o favicon do editor de apresentações.string"/web-apps/apps/presentationeditor/main/resources/img/favicon.ico"
Define um caminho para o favicon do editor de PDF.string"/web-apps/apps/pdfeditor/main/resources/img/favicon.ico"
Define um caminho para o favicon do editor de diagramas.string"/web-apps/apps/visioeditor/main/resources/img/favicon.ico"
Define uma lista de parâmetros de informações de arquivo WOPI que são bloqueados ao enviar este array para o navegador. No entanto, estes parâmetros estão disponíveis no servidor.array de strings["FileUrl"]
Define os tipos de arquivo que podem ser visualizados no editor de PDF.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser editados no editor de PDF.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo de formulário.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser visualizados no editor de documentos.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser editados no editor de documentos.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser visualizados no editor de planilhas.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser editados no editor de planilhas.
The value of this parameter is stored in the onlyoffice-docs-formats.json file.
array de strings[]
Define os tipos de arquivo que podem ser visualizados no editor de apresentações.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser editados no editor de apresentações.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser visualizados no editor de diagramas.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]
Define os tipos de arquivo que podem ser editados no editor de diagramas.
El valor de este parámetro se almacena en el archivo onlyoffice-docs-formats.json.
array de strings[]

Define a chave pública que o integrador utiliza para verificar a chave privada.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""

Define o módulo RSA no formato codificado em Base64 que é usado para recuperar a chave pública.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""
Define o expoente RSA no formato codificado em Base64 que é usado para recuperar a chave pública.string65537

Define a chave privada que assina a solicitação do Document Server.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""

Define a chave pública antiga que o integrador utilizava para verificar a chave privada.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""

Define o módulo RSA antigo no formato codificado em Base64 que era usado para recuperar a chave pública.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""
Define o expoente RSA antigo no formato codificado em Base64 que era usado para recuperar a chave pública.string65537

Define a chave privada antiga que assinava a solicitação do Document Server.

Observe que, a partir da versão 8.3, os valores deste parâmetro nos arquivos default.json e local.json são diferentes.
string""
Define o intervalo de tempo em minutos para atualizar o bloqueio de um arquivo, redefinindo seu temporizador de expiração automática para 30 minutos.string"10m"
Define as propriedades de manipuladores fictícios (dummy handlers) para testes de estresse.objeto
Define se os manipuladores fictícios estão ativados ou não.booleanofalse
Define o caminho fictício para o arquivo de amostra.string""

Estes parâmetros definem a configuração do protocolo WOPI.

Exemplo
"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": ""
    }
  }

Tenants (Locatários)

ParâmetroDescriçãoTipoPadrão
Define um diretório que limita os arquivos que podem ser acessados pelo ONLYOFFICE Docs.string""
Define o nome de domínio base do locatário (tenant).string""
Define o nome do arquivo de configuração na pasta do locatário para substituir o default.json. É usado no modo multilocatário para inicializar as configurações específicas do locatário (wopi, ipfilter, segredo jwt etc.). string"config.json"
Define o nome do arquivo .pem onde a chave secreta do locatário está armazenada.string"secret.key"
Define o nome do arquivo onde a licença do locatário está armazenada.string"license.lic"
Define o nome de domínio do locatário padrão.string"localhost"
Define as propriedades de cache para a leitura da licença e segredo multilocatário.objeto
Define o TTL (tempo de vida) para cada elemento de cache gerado (medido em segundos).inteiro300
Define o período utilizado para o intervalo de verificação de exclusão automática (medido em segundos).inteiro60
Define se as variáveis em cache serão clonadas ou não. Se for true, uma cópia da variável em cache será criada. Se for false, apenas a referência será salva.booleanofalse

Estes parâmetros definem as propriedades dos locatários (tenants) para trabalhar no modo multilocatário.

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

Solicitação externa

ParâmetroDescriçãoTipoPadrão
Define os endereços IP que são permitidos para solicitações diretas.objeto
Define uma lista dos endereços IP que são confiáveis para solicitações diretas.lista[]
Define se os endereços IP confiáveis estão no JWT ou não.booleanotrue
Define as opções de solicitação externa.objeto
Define se as solicitações externas são permitidas ou não.booleanotrue
Define se o endereço IP privado será bloqueado ou não.booleanotrue
Define a URL do proxy.string""
Define os parâmetros de autenticação do proxy.objeto
Define o nome de usuário para autenticação do proxy.string""
Define a senha para autenticação do proxy.string""
Define os cabeçalhos do proxy.objeto{}

Estes parâmetros definem a configuração das solicitações externas.

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

Serviços do Document Server

Estes parâmetros definem as configurações para os serviços do Document Server.

ParâmetroDescriçãoTipoPadrão
Define as configurações para a sessão de edição em coautoria.objeto

Servidor

ParâmetroDescriçãoTipoPadrão
Define a porta do servidor.inteiro8000
Define o número de threads de trabalho (worker threads) por CPU.inteiro1
Define o modo do servidor.string"development"
Define o tamanho máximo para todos os arquivos temporários carregados usados por cada processo (medido em bytes).inteiro104857600
Define o tamanho máximo para todas as imagens carregadas em cada processo (medido em bytes).inteiro26214400
Define as propriedades de tempo limite (timeout) para o download de imagens.objeto

Define um período que especifica dois tempos limite:

  • tempo limite de leitura (read timeout) – tempo de espera para que um servidor envie os cabeçalhos de resposta (e inicie o corpo da resposta) antes de abortar a solicitação;
  • tempo limite de conexão (connection timeout) – define o socket para expirar após um tempo de inatividade. Observe que aumentar o tempo limite além do tempo limite de conexão TCP de todo o sistema operacional não terá efeito.

Este parâmetro é enviado para o módulo npm.

string"2m"
Define o ciclo completo da solicitação – o período desde o início do download até o download completo.string"2m"
Define as propriedades de tempo limite para a solicitação de callback.objeto

Define um período que especifica dois tempos limite:

  • tempo limite de leitura (read timeout) – tempo de espera para que um servidor envie os cabeçalhos de resposta (e inicie o corpo da resposta) antes de abortar a solicitação;
  • tempo limite de conexão (connection timeout) – define o socket para expirar após um tempo de inatividade. Observe que aumentar o tempo limite além do tempo limite de conexão TCP de todo o sistema operacional não terá efeito.

Este parâmetro é enviado para o módulo npm.

string"10m"
Define o tempo limite do ciclo completo da solicitação.string"10m"
Define um caminho para onde as solicitações de verificação de integridade (health check) serão enviadas.string"../public/healthcheck.docx"
Define o tempo de atraso para o início da conversão (medido em milissegundos) após o fechamento do arquivo editado.inteiro5000
Define se o singleton pode ser editado ou não.booleanofalse
Define o nome da pasta onde todos os arquivos esquecidos são armazenados.string"forgotten"
Define o nome de um arquivo esquecido.string"output"
Define o tamanho máximo das alterações de solicitação.inteiro20000
Define se arquivos protegidos por senha podem ser abertos ou não.booleanotrue
Define se usuários anônimos têm acesso ao editor ou à visualização ao vivo.booleanotrue
Define o armazenamento de dados do editor. Valores possíveis: "editorDataRedis", "".string"editorDataRedis"
Define o armazenamento de dados do editor para cálculo de licença e estatísticas (memória local ou redis). Os valores possíveis são "editorDataMemory", "editorDataRedis" ou "". O valor padrão "" significa que o valor do parâmetro editorDataStorage será usado. Este parâmetro é usado principalmente para um cluster fragmentado (sharded cluster).string""
Define se o arquivo montado é salvo em seu formato original ou não.booleanotrue
Define um caminho para o modelo de arquivo "novo" se um arquivo de 0 bytes for recebido do link para abertura.string"../../document-templates/new"
Define um caminho para o arquivo "onlyoffice-docs-formats".string"../../document-formats/onlyoffice-docs-formats.json"
Define as extensões que podem ser baixadas via o manipulador downloadFile.array de strings["pdf", "xlsx"]
Define se os parâmetros de token obrigatórios serão validados. Isso é necessário para segurança. Por exemplo, o token de conversão não será usado para abrir um documento.booleanotrue
Define se um arquivo sem nenhuma alteração pode ser salvo forçadamente clicando no botão Salvar.booleanofalse

Estes parâmetros definem a configuração do servidor.

Exemplo
"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",
"documentFormatsFile": "../../document-formats/onlyoffice-docs-formats.json",
            "editorStatStorage": "",
            "assemblyFormatAsOrigin": true,
            "newFileTemplate" : "../../document-templates/new",
            "downloadFileAllowExt": ["pdf", "xlsx"],
            "tokenRequiredParams": true,
            "forceSaveUsingButtonWithoutChanges": false
        }
    }
}

Solicitação padrão

ParâmetroDescriçãoTipoPadrão
Define os cabeçalhos padrão da solicitação HTTP.objeto
Define o cabeçalho de solicitação padrão User-Agent.string"Node.js/6.13"
Define o cabeçalho de solicitação padrão Connection.string"Keep-Alive"
Define se os certificados serão verificados pelo Document Server ou não.booleanotrue

Estes parâmetros definem a configuração de solicitação padrão.

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

Montagem automática

ParâmetroDescriçãoTipoPadrão
Define se o salvamento forçado (forcesaving) automático está ativado ou não.booleanofalse
Define o intervalo de tempo em minutos para iniciar o salvamento forçado automático.string"5m"
Define o atraso em minutos entre os intervalos.string"1m"

Estes parâmetros definem a configuração do salvamento forçado (forcesaving) automático.

O salvamento forçado automático só será iniciado após a realização de algumas alterações no documento. As versões vazias não serão salvas forçadamente de forma automática. Além disso, o versionamento de arquivos precisa estar implementado no sistema de gerenciamento de documentos para que este parâmetro funcione.
Exemplo
"services": {
    "CoAuthoring": {
        "autoAssembly": {
            "enable": false,
            "interval": "5m",
            "step": "1m"
        }
    }
}

Utilitários

ParâmetroDescriçãoTipoPadrão
Define um diretório onde todas as fontes são armazenadas.string"null"
Define os padrões para pesquisar arquivos de fontes das extensões correspondentes.string"*.ttf;*.ttc;*.otf"
Define os formatos de imagem suportados para upload.string"jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"

Estes parâmetros definem a configuração dos utilitários.

Exemplo
"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âmetroDescriçãoTipoPadrão
Define o tipo de banco de dados (mysql, mariadb, mssql, postgres, dameng, oracle).string"postgres"
Define o nome da tabela do banco de dados onde todas as alterações do documento são armazenadas.string"doc_changes"
Define o nome da tabela do banco de dados onde o resultado da consulta é armazenado.string"task_result"
Define o host do servidor de banco de dados (nome do host ou endereço IP).string"localhost"
Define a porta do servidor de banco de dados.inteiro5432
Define o nome de um banco de dados a ser criado na inicialização da imagem.string"onlyoffice"
Define um novo nome de usuário com permissões de superusuário para a conta do banco de dados.string"onlyoffice"
Define uma senha configurada para a conta do banco de dados.string"onlyoffice"
Define o conjunto de caracteres (charset) do banco de dados.string"utf8"
Define o número máximo de conexões de usuários simultâneas ao servidor de banco de dados.inteiro10
Define o tamanho máximo de dados que podem ser enviados em uma única solicitação.inteiro1048575
Define os parâmetros que podem ser passados diretamente para a biblioteca node-postgres pool.objeto
Define o número de milissegundos que um cliente deve permanecer inativo no pool sem ser solicitado antes de ser desconectado do backend e descartado. Defina como 0 para desativar a desconexão automática de clientes inativos.inteiro30000
Define um número de segundos que representa o tempo de vida máximo.inteiro60000
Define um número de milissegundos antes que a instrução de consulta expire (timeout).inteiro60000
Define um número de milissegundos antes que uma chamada de consulta expire.inteiro60000
Define um número de milissegundos para esperar por uma conexão.inteiro60000
Define os parâmetros do banco de dados Dameng.objeto
Define se os nomes das colunas devem estar em letras maiúsculas ou não.booleanofalse
Define a capitalização dos nomes das colunas.string"lower"
Define um número de milissegundos para esperar por uma conexão.inteiro60000
Define se a criptografia de login está ativada ou não.booleanofalse
Define o fuso horário local.inteiro0
Define um número de segundos após o qual o pool encerra conexões inativas (não utilizadas no pool).inteiro60
Define um número de milissegundos em que uma solicitação de conexão feita por um cliente ou servidor não recebe resposta da outra extremidade.inteiro60000
Define um número de milissegundos em que as mensagens são retidas na fila antes de serem descartadas.inteiro60000
Define os parâmetros do banco de dados Oracle.objeto
Define a conexão com o Oracle no "Thick Mode" usando o Oracle Instant Client em um cluster.booleanotrue
Define um número de segundos para esperar por uma conexão.inteiro60
Define os parâmetros do banco de dados MS SQL.objeto
Define as opções do banco de dados MS SQL.objeto
Define se os dados serão criptografados antes de serem enviados pela rede.booleanofalse
Define se a criptografia ocorre quando não há um certificado de servidor verificado.booleanotrue
Define os parâmetros do pool de conexões.objeto
Define o número de milissegundos que um cliente deve permanecer inativo no pool sem ser solicitado antes de ser desconectado do backend e descartado. Defina como 0 para desativar a desconexão automática de clientes inativos.inteiro30000
Define os parâmetros de conexão do banco de dados MySQL (incluindo configurações de SSL) que podem ser passados diretamente para o módulo node-mysql2.objeto
Define um número de milissegundos para esperar por uma conexão.inteiro60000
Define um número de milissegundos antes que uma chamada de consulta expire.inteiro60000

Estes parâmetros definem a configuração do banco de dados.

Exemplo
"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âmetroDescriçãoTipoPadrão
Define o nome do banco de dados, "redis" ou "ioredis".string"redis"
Define o prefixo de nome para todas as estruturas usadas no Redis.string"ds:"
Define o host do servidor Redis (nome do host ou endereço IP).string"127.0.0.1"
Define a porta do servidor Redis.inteiro6379
Define os parâmetros (nome de usuário, senha, módulos etc.) que podem ser passados diretamente para a biblioteca node-redis createClient.objeto{}
Define os parâmetros (rootNodes, padrões, módulos etc.) que podem ser passados diretamente para a biblioteca node-redis clustering para conectar ao cluster redis. Esta configuração tem prioridade sobre o parâmetro options para conectar a um redis único. objeto{}
Define os parâmetros (nome de usuário, senha, módulos etc.) que podem ser passados diretamente para a biblioteca ioredis RedisOptions.objeto
Define se a conexão com o servidor será atrasada até que o primeiro comando seja enviado ou redis.connect() seja chamado explicitamente.booleanotrue
Define uma lista de nós do cluster ao qual você deseja se conectar que podem ser passados diretamente para a biblioteca ioredis cluster para conectar ao cluster redis. Esta configuração tem prioridade sobre o parâmetro iooptions para conectar a um redis único. array[]
Define os parâmetros (clusterRetryStrategy, dnsLookup, scaleReads etc.) que podem ser passados diretamente para a biblioteca ioredis cluster para conectar ao cluster redis. Esta configuração tem prioridade sobre o parâmetro iooptions para conectar a um redis único. objeto
Define se a conexão com o servidor será atrasada até que o primeiro comando seja enviado ou redis.connect() seja chamado explicitamente.booleanotrue

Estes parâmetros definem a configuração do Redis.

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

Serviço PubSub

ParâmetroDescriçãoTipoPadrão
Define o tamanho máximo de alterações que podem ser passadas via PubSub. Se o tamanho exceder o valor especificado, as alterações serão lidas do banco de dados.inteiro1000

Este parâmetro define a configuração do serviço PubSub.

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

Expiração

ParâmetroDescriçãoTipoPadrão
Define o tempo para salvar bloqueios.inteiro60
Define o tempo de vida para o status de presença do usuário.inteiro300
Define o tempo de vida para os bloqueios.inteiro604800
Define o tempo para alteração de índices.inteiro86400
Define o tempo para bloqueio de documentos.inteiro30
Define o tempo de vida para as mensagens.inteiro86400
Define o tempo de vida para o último salvamento no banco de dados executado com sucesso.inteiro604800
Define o tempo de vida para o salvamento forçado (forcesaving) executado com sucesso.inteiro604800
Define o tempo de vida para os bloqueios de salvamento forçado no modo cluster ioredis.inteiro5000
Define o tempo de vida para o salvamento no banco de dados executado com sucesso.inteiro3600
Define o tempo para iniciar a verificação, durante a qual arquivos antigos são excluídos do cache (a cada dois minutos por padrão).string"0 */2 * * * *"
Define o tempo de vida para as pastas em App_Data.inteiro86400
Define o tempo para o início da verificação (a cada hora por padrão).string"00 00 */1 * * *"
Define o número de pastas de documentos excluídas simultaneamente do cache.inteiro100

Define o tempo de vida da sessão inativa. Este parâmetro permite encerrar a sessão de edição para um usuário ocioso. Também é usado para inicializar o procedimento de salvamento do documento ao encerrar a última sessão de edição. Portanto, define o tempo após o qual um usuário inativo será desconectado da sessão de edição. O formato do seu valor é "1s", "1m", "1h", "1d" etc.

Observe que por inatividade, queremos dizer a ausência de qualquer ação no editor, incluindo o movimento do cursor.
string"1h"
Define o tempo de vida para qualquer sessão de edição.string"30d"
Define o tempo antes que o sessionidle ou sessionabsolute ttl expire em que uma mensagem de aviso é enviada.string"2m"
Define o tempo de vida para os arquivos PEM com segredos.string"1h"
Define o tempo para verificação do ttl dos arquivos PEM.string"10m"
Define o tempo em que o usuário pode abrir o arquivo novamente após ocorrer um erro devido à abertura de um arquivo já salvo usando a chave antiga.string"5m"
Define o tempo de vida para a lista de usuários únicos do mês.string"1y"

Estes parâmetros definem as configurações de expiração.

Exemplo
"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âmetroDescriçãoTipoPadrão

Define as regras do filtro de IP que contêm os seguintes parâmetros:

  • address – o endereço IP do integrador. Este parâmetro pode conter IP no formato X.X.X.X para ipv4 ou no formato xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx para ipv6, nome-dns ou o curinga * para substituir qualquer símbolo/símbolos,
    tipo: string,
    exemplo: "endereco_ip";
  • allowed – especifica se o endereço IP é confiável ou não,
    tipo: booleano,
    exemplo: true.
array de objetos
Define se o filtro de IP é usado para a solicitação ou não.booleanofalse
Define um código de erro para o filtro de IP.inteiro403

Estes parâmetros definem a configuração do filtro de IP.

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

Agente de filtragem de solicitações

ParâmetroDescriçãoTipoPadrão
Define se é permitido conectar endereços IP privados ou não. Isso inclui endereços IP privados e endereços IP reservados.booleanofalse
Define se é permitido conectar endereços meta-IP ou não. O endereço meta pode ser 0.0.0.0 (IPv4) ou :: (IPv6) - um endereço meta que roteia para outro endereço.booleanofalse

Estes parâmetros definem a configuração do Agente de Filtragem de Solicitações.

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

Chave secreta

ParâmetroDescriçãoTipoPadrão

Define os parâmetros de uma chave secreta para gerar um token nas solicitações do navegador do lado do cliente para o ONLYOFFICE Docs:

  • string – a chave secreta,
    tipo: string,
    exemplo: "secret";
  • file – o arquivo PEM onde o segredo está armazenado,
    tipo: string,
    exemplo: "".
objeto

Define os parâmetros de uma chave secreta para gerar um token nas solicitações HTTP de entrada com os comandos do serviço de armazenamento de documentos para o serviço de comando de documentos, serviço de conversão de documentos e serviço de construtor de documentos:

  • string – a chave secreta,
    tipo: string,
    exemplo: "secret";
  • file – o arquivo PEM onde o segredo está armazenado,
    tipo: string,
    exemplo: "".
objeto

Define os parâmetros de uma chave secreta para gerar um token nas solicitações HTTP de saída para o endereço callbackUrl pelo serviço de edição de documentos:

  • string – a chave secreta,
    tipo: string,
    exemplo: "secret";
  • file – o arquivo PEM onde o segredo está armazenado,
    tipo: string,
    exemplo: "".
objeto

Define os parâmetros de uma chave secreta para gerar o token de sessão:

  • string – a chave secreta,
    tipo: string,
    exemplo: "secret";
  • file – o arquivo PEM onde o segredo está armazenado,
    tipo: string,
    exemplo: "".
objeto

Estes parâmetros definem a configuração da chave secreta.

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

Token

ParâmetroDescriçãoTipoPadrão
Define se os tokens estão ativados ou não.objeto
Define se o token nas solicitações do navegador do lado do cliente está ativado ou não.booleanofalse
Define se os tokens nas solicitações HTTP estão ativados ou não.objeto
Define se o token nas solicitações HTTP de entrada está ativado ou não.booleanofalse
Define se o token nas solicitações HTTP de saída está ativado ou não.booleanofalse
Define a configuração do token do navegador.objeto
Define se o token do navegador é igual ao token das solicitações de entrada (true) ou não (false).booleanotrue
Define a configuração de um token das solicitações de entrada.objeto
Define o cabeçalho HTTP que será usado para enviar o token da solicitação de entrada.string"Authorization"
Define um prefixo no cabeçalho HTTP que será usado para enviar o token da solicitação de entrada.string"Bearer "
Define se o token está ativado no corpo da solicitação de entrada ou não.booleanofalse
Define a configuração de um token das solicitações de saída.objeto
Define o cabeçalho HTTP que será usado para enviar o token da solicitação de saída.string"Authorization"
Define um prefixo no cabeçalho HTTP que será usado para enviar o token da solicitação de saída.string"Bearer "
Define um algoritmo que é usado para assinar o token da solicitação de saída.string"HS256"
Define um período após o qual o token da solicitação de saída expira.string"5m"
Define se o token está ativado no corpo da solicitação de saída ou não.booleanofalse
Define a expressão regular que especifica as URLs das quais a autorização deve ser excluída. A string vazia significa que esta opção está desativada.string""
Define a configuração do token de sessão.objeto
Define um algoritmo que é usado para assinar o token de sessão.string"HS256"
Define um período após o qual o token de sessão expira.string"30d"
Define as opções de verificação de token.objeto
Define um número de segundos que é aceitável ao lidar com as diferenças de relógio entre diferentes servidores.inteiro60

Estes parâmetros definem a configuração do token.

Exemplo
"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
            }
        }
    }
}

Plugins

ParâmetroDescriçãoTipoPadrão
Define um caminho para a pasta onde todos os plugins estão armazenados.string"/sdkjs-plugins"
Define uma lista de plugins que são executados automaticamente.lista[]

Estes parâmetros definem a configuração dos plugins.

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

Temas

ParâmetroDescriçãoTipoPadrão
Define um caminho para a pasta onde todos os arquivos json com os temas de cores personalizados estão armazenados.string"/web-apps/apps/common/main/resources/themes"

Este parâmetro define as propriedades dos temas de cores personalizados.

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

Editor

ParâmetroDescriçãoTipoPadrão
Define um caminho para o verificador ortográfico.string""
Define as configurações para reconectar o editor ao servidor.objeto
Define um número máximo de tentativas para reconectar o editor.inteiro50
Define o atraso entre as tentativas de reconexão do editor.string"2s"
Define se as alterações do documento são salvas no formato binário (true) ou JSON (false).booleanofalse
Define o tamanho máximo do payload do WebSocket.string"1.5MB"
Define um limite para o tamanho total das alterações feitas no documento. Quando o limite é excedido, o usuário recebe uma caixa de diálogo com uma sugestão para cancelar a última ação ou mudar para o modo offline. Esta configuração está desativada por padrão.string"150MB"

Estes parâmetros definem a configuração do editor.

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

SockJs

ParâmetroDescriçãoTipoPadrão
Define um caminho para o arquivo sockjs.min.js.string""
Define se o CORS será desativado ou não. O valor true evita a vulnerabilidade do cabeçalho Access-Control-Allow-Origin.booleanotrue
Define se o protocolo WebSocket está ativado ou não.booleanotrue

Estes parâmetros definem a configuração do SockJs.

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

Socket.IO

ParâmetroDescriçãoTipoPadrão
Define as propriedades da conexão.objeto
Define o caminho que é capturado no lado do servidor.string"/doc/"
Define se os arquivos do cliente serão servidos ou não.booleanofalse
Define o período de tempo limite em milissegundos dentro do qual o cliente deve responder com um pong ao ping do servidor. Se não houver resposta, o servidor considera que a conexão foi fechada. A conexão entre o servidor e o cliente é verificada a cada pingInterval milissegundos. inteiro20000
Define o tempo de intervalo em milissegundos, que é usado para verificar se a conexão ainda está ativa entre o servidor e o cliente. O servidor envia um pacote de ping para o cliente e, se o cliente não responder com um pong dentro de um período de pingTimeout, o servidor considera que a conexão foi fechada. inteiro25000
Define o número máximo de bytes que uma única mensagem pode ter, antes de fechar o socket.inteiro1e8

Estes parâmetros definem a configuração do módulo Socket.IO.

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

Opções de backoff de callback

ParâmetroDescriçãoTipoPadrão
Define a quantidade máxima de vezes para tentar novamente a operação.inteiro3
Define os tempos limite de backoff de callback.objeto
Define o fator exponencial a ser usado.inteiro2
Define o número de milissegundos antes de iniciar a primeira tentativa.inteiro1000
Define o número máximo de milissegundos entre duas tentativas.inteiro2147483647
Define se os tempos limite são randomizados multiplicando por um fator entre 1 e 2 ou não.booleanofalse
Define os status HTTP do backoff de callback.string"429,500-599"

Estes parâmetros definem as opções de backoff de callback.

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

Licença

ParâmetroDescriçãoTipoPadrão
Define um caminho para o arquivo de licença.string""
Define uma faixa percentual das limitações de conexões e connections_view, acima da qual um aviso de limite de licença aparece nos logs. inteiro70

Define o tipo de pacote de licença: 2 - Developer Edition.

Este parâmetro é definido no momento da compilação da versão. Você não precisa configurá-lo manualmente.
inteiro2
Define o tempo antes da expiração da licença em que uma mensagem de aviso é enviada.string"30d"

Estes parâmetros definem a configuração da licença.

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

Conversor

ParâmetroDescriçãoTipoPadrão
Define as propriedades do conversor.objeto
Define o tamanho máximo do arquivo que está sendo solicitado (medido em bytes).inteiro104857600
Define as propriedades de tempo limite para o download do arquivo convertido.objeto

Define um período que especifica dois tempos limite:

  • tempo limite de leitura (read timeout) – tempo de espera para que um servidor envie os cabeçalhos de resposta (e inicie o corpo da resposta) antes de abortar a solicitação;
  • tempo limite de conexão (connection timeout) – define o socket para expirar após um tempo de inatividade. Observe que aumentar o tempo limite além do tempo limite de conexão TCP de todo o sistema operacional não terá efeito.

Este parâmetro é enviado para o módulo npm.

string"2m"
Define o tempo limite do ciclo completo da solicitação.string"2m"
Define um número máximo de tentativas para baixar o arquivo convertido.inteiro3
Define o atraso entre as tentativas de baixar o arquivo convertido.inteiro1000
Define o número máximo de processos de conversão que podem estar ativos ao mesmo tempo.inteiro1
Define um caminho para a pasta com fontes.string"null"
Define um caminho para a pasta com os temas de apresentação.string"null"
Define um caminho para o conversor de arquivos x2t.string"null"
Define um caminho para o aplicativo Document Builder.string"null"
Define la ruta al certificado de firma de PDF. Este certificado se puede cargar en el Panel de administración y utilizar para firmar formularios PDF durante el proceso de Completar y Enviar.string""
Define os parâmetros adicionais para executar o x2t.string""
Define os parâmetros que podem ser passados diretamente para a biblioteca node.js child_process.spawn (apenas para executar o x2t).objeto{}
Define um caminho para os arquivos de erro.string""
Define o tamanho do buffer do StreamWriter.inteiro8388608
Define um número máximo de reentregas de mensagens.inteiro2
Define limites para arquivos de entrada.objeto
Define os tipos de arquivo OOXML para os quais os limites são especificados (documentos de texto/planilhas/apresentações). Isso não inclui outros objetos, como imagens.string"docx;dotx;docm;dotm"/"xlsx;xltx;xlsm;xltm"/"pptx;ppsx;potx;pptm;ppsm;potm"
Define as propriedades do arquivo zip.objeto
Define o tamanho total do arquivo descompactado para documentos de texto/planilhas/apresentações.string"50MB"/"300MB"/"50MB"
Define o modelo de nome para arquivos cujos tamanhos são contabilizados.string"*.xml"

Estes parâmetros definem a configuração do conversor de arquivos.

Exemplo
"FileConverter": {
    "converter": {
        "maxDownloadBytes": 104857600,
        "downloadTimeout": {
            "connectionAndInactivity": "2m",
            "wholeCycle": "2m"
        },
        "downloadAttemptMaxCount": 3,
        "downloadAttemptDelay": 1000,
        "maxprocesscount": 1,
        "fontDir": "null",
        "presentationThemesDir": "null",
        "x2tPath": "null",
        "docbuilderPath": "null",
        "signingKeyStorePath": "",
        "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"
            }
            }
        ]
    }
}
Artigo com o tag:
Veja todas as etiquetas