Instalando o ONLYOFFICE Docs Enterprise Edition para Docker no KylinOS

Introdução

A versão Enterprise Edition permite instalar o ONLYOFFICE Docs em seu servidor local e integrar os editores online corporativos com a plataforma de colaboração ONLYOFFICE ou com outros sistemas DMS populares de terceiros.

O ONLYOFFICE Docs é uma suíte de escritório online que compreende visualizadores e editores para documentos de texto, planilhas e apresentações, apresentando compatibilidade total nativa com os formatos Office Open XML (.docx, .xlsx, .pptx) e permitindo edição colaborativa e coautoria em tempo real.

Principais Recursos incluídos:

  • Document Editor (Editor de Textos)
  • Spreadsheet Editor (Editor de Planilhas)
  • Presentation Editor (Editor de Apresentações)
  • Visualizadores e editores otimizados para web móvel
  • Edição colaborativa simultânea (Coautoria)
  • Suporte avançado a hieróglifos e alfabetos internacionais
  • Suporte para todos os formatos populares: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX e HTML

Para auditar a especificação detalhada de recursos, consulte a listagem da versão Enterprise Edition no GitHub.

Ao utilizá-lo integrado ao ONLYOFFICE Workspace, você poderá:

  • Compartilhar arquivos em redes locais e nuvem;
  • Gerenciar permissões de segurança e direitos de acesso a documentos;
  • Incorporar documentos dinâmicos em portais corporativos e sites;
  • Visualizar e editar arquivos armazenados no Drive, Box, Dropbox, OneDrive e ownCloud conectados ao ONLYOFFICE.

A partir da versão 7.2, as imagens Docker do ONLYOFFICE Docs foram otimizadas e homologadas para execução no sistema operacional chinês Kylin Linux Advanced Server OS release V10. Este guia demonstrará o passo a passo para instalar a edição Enterprise neste ambiente.


Requisitos de Sistema da Instância
  • CPU: Processador Dual-Core de 2 GHz ou superior.
  • Memória RAM: 4 GB ou mais.
  • Armazenamento (HDD/SSD): Pelo menos 40 GB de espaço livre em disco rígido.
  • Partição SWAP: Mínimo de 4 GB (a alocação real depende do SO host; quanto mais recursos disponíveis, melhor a estabilidade).
  • Sistema Operacional: Distribuição Linux arquitetura amd64 executando versão de kernel 3.10 ou posterior.
  • Docker: Qualquer versão estável suportada pelo KylinOS.

Instalando o ONLYOFFICE Docs no KylinOS

Configuração de DNS do Docker (Ambientes Offline): O daemon do Docker especifica os servidores DNS públicos do Google (8.8.8.8) por padrão. Caso o seu servidor de ONLYOFFICE Docs opere em uma infraestrutura isolada e sem acesso à Internet, recomendamos alterar o endereço DNS padrão do Docker para o IP do seu resolvedor DNS local.

Em sistemas baseados em Debian/Ubuntu, edite o arquivo /etc/default/docker e altere a seguinte linha:

docker_OPTS="--dns-local-ip"

Para sistemas operacionais corporativos baseados em RPM (como o KylinOS ou CentOS):

  1. Crie ou edite o arquivo de configuração de rede em /etc/docker/daemon.json e insira o seguinte conteúdo:
    { "dns" : [ "192.168.1.1" ] }
    (Substitua 192.168.1.1 pelo IP do servidor DNS da sua rede local).
  2. Reinicie o serviço do Docker para aplicar a nova tabela de rotas:
    sudo systemctl restart docker.service
1. Desabilite as restrições do SELinux

Por motivos de isolamento de contêineres e montagem de volumes, é necessário desabilitar as diretivas do SELinux no arquivo de configuração do sistema em /etc/selinux/config.

Abra o arquivo utilizando o editor de sua preferência (como nano ou vim), localize a linha de status e substitua o valor SELINUX=enforcing (ou permissive) por SELINUX=disabled. Salve as alterações.

Aplique um reboot no servidor para limpar o cache da memória. Ao reiniciar, valide se o SELinux está desativado executando:

sestatus

O retorno do console deve indicar: SELinux status: disabled.

2. Execute o contêiner do ONLYOFFICE Docs

Rode o comando de inicialização padrão para implantar a edição Enterprise Edition no Docker:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-ee
Importante (Geração de Chaves JWT): A partir da v7.2, o sistema gera chaves criptográficas randômicas caso a variável não seja declarada de forma explícita. Isso significa que o Token JWT seria regenerado a cada reinicialização da máquina física ou VM, quebrando as conexões com seu Nextcloud/Workspace. Para mitigar esta vulnerabilidade de comunicação, declare sempre o seu segredo fixo utilizando a flag -e JWT_SECRET=seu_jwt_secret_exclusivo.

Caso precise desabilitar completamente a validação por tokens na sua rede de testes local, utilize a flag: -e JWT_ENABLED=false.

Nota de Segurança de Sandbox: O argumento --security-opt seccomp=unconfined é mandatório no KylinOS para desabilitar restrições de chamadas de sistema (syscalls) que bloqueiam componentes internos do contêiner. Para ambientes que exigem hardening avançado, você pode adotar o perfil customizado de seccomp oficial baixando o arquivo kylin-seccomp7.json diretamente dos repositórios do ONLYOFFICE.

Redirecionamento de Portas de Rede: Por padrão, o proxy interno do contêiner escuta na porta lógica HTTP 80. Caso queira redirecionar o tráfego da máquina hospedeira para evitar conflitos de portas com outros servidores web ativos, basta mudar o mapeamento de portas (Host:Container) no comando de execução:
sudo docker run -i -t -d -p <NUMERO_DA_PORTA>:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-ee
Substitua o marcador <NUMERO_DA_PORTA> pela porta desejada (ex: 8080).
3. Configure as exceções de Firewall (Firewalld)

Abra as regras do firewall local para liberar a escuta na porta mapeada (porta 80 padrão) e recarregue o motor de regras da máquina:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

Pronto. Agora você pode abrir o navegador e digitar o endereço http://localhost (ou o IP da máquina) para acessar a interface inicial de boas-vindas do ONLYOFFICE Docs, que trará links de integração e documentação detalhada de chamadas de API.


Armazenando dados e logs fora dos contêineres (Volumes)

A arquitetura padrão do ONLYOFFICE Docs organiza e gera dados nos seguintes caminhos internos:

  • /var/log/onlyoffice — Logs de transações e erros de coautoria.
  • /var/www/onlyoffice/Data — Certificados SSL/TLS e chaves de licença.
  • /var/lib/onlyoffice — Caches de arquivos temporários manipulados pelos editores.
  • /var/lib/postgresql — Persistência de tabelas do banco de dados interno.
Boas Práticas de SysAdmin: Recomendamos fortemente que você realize a montagem de volumes externos vinculando estes diretórios diretamente a uma pasta persistente na máquina hospedeira. Isso garante que você possa atualizar ou reiniciar o contêiner do ONLYOFFICE Docs sem o risco de perder dados de arquivos ou logs.

Para expor e salvar as pastas em diretórios locais seguros do host, realize as montagens de volume utilizando as flags -v na execução do contêiner:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \
    -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-ee

Aviso de Permissões: Caso a pasta de destino passada na máquina host ainda não exista, o Docker criará o diretório automaticamente, porém com privilégios restritos de root. Certifique-se de ajustar os donos e as permissões de gravação via comando chmod / chown para que os processos internos do contêiner gravem dados sem falhas de I/O.


Executando o ONLYOFFICE Docs utilizando SSL/HTTPS

Para tráfego seguro criptografado, você pode subir o contêiner mapeando a porta segura 443:

sudo docker run -i -t -d -p 443:443 --security-opt seccomp=unconfined --restart=always \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-ee

Para assegurar a comunicação contra interceptações de tráfego, você deve configurar uma chave privada (.key) e um certificado emitido (.crt). O NGINX interno do contêiner está programado de fábrica para buscar as assinaturas exatamente nestas localizações estruturais:

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Abordagem A: Geração de Certificados válidos automáticos com Certbot (Let's Encrypt)

Se o seu servidor estiver exposto publicamente na internet e possuir uma entrada de DNS apontando para ele, a forma mais prática de migrar para HTTPS é injetar as variáveis de automação do Let's Encrypt diretamente na inicialização do contêiner:

sudo docker run -i -t -d -p 80:80 -p 443:443 --security-opt seccomp=unconfined --restart=always \
    -e LETS_ENCRYPT_DOMAIN=seu-dominio-corporativo.com \
    -e LETS_ENCRYPT_MAIL=admin@seu-dominio.com \
    -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-ee

O ecossistema se encarregará de fazer a validação HTTP do domínio, baixar as chaves assinadas pela CA e reiniciar o proxy reverso automaticamente. Sua suíte estará acessível de forma segura em https://seu-dominio-corporativo.com.

Abordagem B: Geração Manual de Certificados Autoassinados

Caso a sua infraestrutura opere em uma Intranet fechada, você precisará forjar seus próprios certificados locais via OpenSSL seguindo três etapas no terminal:

Passo 1 (Chave Privada): Criar a chave RSA de 2048 bits:

openssl genrsa -out onlyoffice.key 2048

Passo 2 (CSR): Gerar a solicitação de assinatura declarando os metadados da organização:

openssl req -new -key onlyoffice.key -out onlyoffice.csr

Passo 3 (Assinatura): Assinar digitalmente o certificado estendendo a validade para 365 dias:

openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

Passo 4 (Hardening Diffie-Hellman): Gere parâmetros DHStrong mais robustos para mitigar vulnerabilidades de criptografia fraca no TLS:

openssl dhparam -out dhparam.pem 2048

Instalação física dos arquivos gerados:

Crie o diretório de destino correspondente ao volume montado do servidor de documentos, mova as chaves geradas para lá e altere as permissões da chave privada para leitura restrita do dono do processo por conformidade de segurança:

mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

E reinicie o contêiner para forçar o reload do NGINX interno:

sudo docker restart {{CONTEINER_ID}}

Ativação e Registro da Licença Enterprise

Se você comprou o ONLYOFFICE Docs Enterprise Edition e recebeu o arquivo de registro license.lic, mova-o para a pasta de montagem de dados no host para converter a aplicação para a sua versão estável completa:

/app/onlyoffice/DocumentServer/data/license.lic

Certifique-se de iniciar o contêiner mapeando este volume de dados persistentes para que as chaves de licenciamento sejam injetadas:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-ee

Pronto. A ativação será validada e todos os limites de compilação corporativa da versão Enterprise Edition estarão disponíveis de forma persistente.

Artigo com o tag:
Veja todas as etiquetas