Instalando o ONLYOFFICE Docs Enterprise Edition no Docker (ARM64)

Introdução

A partir da versão 7.1, o ONLYOFFICE Docs possui suporte nativo para ser provisionado via Docker em infraestruturas com a arquitetura ARM de 64 bits.

A Enterprise Edition permite que você instale o ONLYOFFICE Docs em seu servidor local e integre os editores online com a plataforma de colaboração da ONLYOFFICE ou com outros sistemas populares.

O ONLYOFFICE Docs é um pacote office online de alto desempenho que compreende visualizadores e editores para textos, planilhas e apresentações, totalmente compatível com os formatos Office Open XML (.docx, .xlsx, .pptx) e garantindo a edição colaborativa em tempo real.

Principais Funcionalidades:

  • Document Editor, Spreadsheet Editor e Presentation Editor
  • Visualizadores e editores web otimizados para dispositivos móveis
  • Edição colaborativa avançada em tempo real
  • Suporte a hieróglifos e caracteres complexos
  • Suporte nativo para os formatos populares: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Veja a lista detalhada de recursos disponíveis para o ONLYOFFICE Docs Enterprise Edition.

Ao utilizá-lo no ecossistema do ONLYOFFICE Workspace, você também poderá:

  • Compartilhar arquivos internamente e externamente;
  • Gerenciar permissões e direitos de acesso restrito a documentos;
  • Incorporar documentos em sites e portais;
  • Visualizar e editar arquivos armazenados em provedores como Google Drive, Box, Dropbox, OneDrive e OwnCloud conectados ao ONLYOFFICE.

Este guia demonstrará o passo a passo para instalar a versão Docker do ONLYOFFICE Docs Enterprise Edition (versão 7.2 e posteriores) para a arquitetura ARM de 64 bits.


Requisitos de sistema

  • CPU: Processadores com arquitetura ARM de 64 bits
  • RAM: 4 GB ou mais
  • HDD / SSD: Pelo menos 40 GB de espaço livre em disco
  • SWAP: Pelo menos 4 GB (A eficiência do Swap depende da configuração do SO host)
  • Sistema Operacional: Distribuição Linux compilada para arm64
  • Requisitos de Software Adicionais: Engine do Docker atualizada em qualquer versão suportada oficialmente pela equipe do Docker.

Instalando o ONLYOFFICE Docs

Certifique-se de que a engine do Docker está instalada. Caso não a possua, consulte a documentação oficial do Docker para obter as instruções precisas de deploy.
Dica de DNS para Intranet: O Docker especifica os servidores DNS do Google (8.8.8.8) por padrão. Se o seu contêiner do ONLYOFFICE Docs rodar sem acesso irrestrito à Internet, altere o DNS padrão do Docker para o seu DNS corporativo local.

Para sistemas como CentOS/RHEL, crie ou edite o arquivo /etc/docker/daemon.json com:
{ "dns" : [ "8.8.8.8" ] }
Em seguida, reinicie o daemon: sudo systemctl restart docker.service.

Com o Docker instalado, execute o seguinte comando para iniciar o ONLYOFFICE Docs:

sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=meu_segredo_jwt onlyoffice/documentserver-ee:latest
Importante (Segurança JWT): A partir da versão 7.2, habilitamos a geração aleatória do segredo JWT. Se o segredo não for especificado com a variável de ambiente, ele será regenerado a cada reinicialização da VM, o que quebrará as integrações. Para manter a estabilidade, fixe o valor usando -e JWT_SECRET=meu_segredo_jwt. Se a sua arquitetura não usar JWT (não recomendado), declare -e JWT_ENABLED=false.

Alterando a porta HTTP padrão (Opcional):
O ONLYOFFICE Docs escuta nativamente a porta 80. Se você precisar rotear para outra porta externa, altere o mapeamento no comando (por exemplo, redirecionando para a porta externa 8080):

sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=meu_segredo_jwt onlyoffice/documentserver-ee:latest

Isso instalará a aplicação e todas as dependências necessárias para arquitetura ARM64.


Armazenando dados fora dos contêineres (Volumes persistentes)

Todos os dados críticos são armazenados em diretórios internos designados, que devem ser mapeados como volumes de dados para a máquina host:

  • /var/log/onlyoffice: Logs do serviço ONLYOFFICE Docs.
  • /var/www/onlyoffice/Data: Certificados SSL e licenças corporativas.
  • /var/lib/onlyoffice: Cache de arquivos em edição.
  • /var/lib/postgresql: Banco de dados.
Recomendação: É fortemente recomendado armazenar os dados fora do contêiner Docker. Isso permite atualizar a imagem do ONLYOFFICE Docs para novas versões no futuro sem o risco de corromper ou perder seus arquivos e bancos de dados em uso.

Para montar os volumes corretamente, utilize a flag -v no comando docker run:

sudo docker run -i -t -d -p 80:80 --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=meu_segredo_jwt \
    onlyoffice/documentserver-ee:latest
Se os diretórios apontados na máquina hospedeira não existirem, o Docker os criará automaticamente, mas as permissões poderão ficar restritas ao usuário root. Ajuste-as manualmente se necessário.

Executando o ONLYOFFICE Docs sob protocolo HTTPS

Para prover comunicação segura em produção, é necessário rotear a porta 443:

sudo docker run -i -t -d -p 443:443 --restart=always \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -e JWT_SECRET=meu_segredo_jwt \
    onlyoffice/documentserver-ee:latest

O acesso é protegido usando as chaves SSL. Dois arquivos são obrigatórios na sua pasta de certificados:

  • /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key (A chave privada criptográfica)
  • /app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt (O certificado SSL assinado)
Opção 1: Geração automática via Certbot (Let's Encrypt)

Você pode configurar a automação da obtenção de certificados Let's Encrypt diretamente na execução, definindo os parâmetros de domínio e e-mail no Docker run:

sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
    -e LETS_ENCRYPT_DOMAIN=seudominio.com \
    -e LETS_ENCRYPT_MAIL=email@exemplo.com \
    -e JWT_SECRET=meu_segredo_jwt \
    onlyoffice/documentserver-ee:latest
Opção 2: Geração de Certificados Autoassinados (Intranet)

Se o servidor não tiver conexão exposta, gere certificados manualmente rodando no terminal do host:

# Passo 1: Chave privada
openssl genrsa -out onlyoffice.key 2048

# Passo 2: Solicitação (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr

# Passo 3: Assinatura do certificado (válido por 1 ano)
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

# Passo 4: Reforçar a segurança gerando parâmetros DHE
openssl dhparam -out dhparam.pem 2048

Por fim, aloque os arquivos gerados (onlyoffice.key, onlyoffice.crt e dhparam.pem) na pasta mapeada de certs do servidor host, bloqueie a permissão de leitura da chave e reinicie a aplicação:

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

sudo docker restart {{DOCUMENT_SERVER_ID}}

Lista de Parâmetros de Configuração (Variáveis de Ambiente)

Para ambientes complexos, utilize a flag --env-file ./configuracao.env no Docker, consolidando todas essas variáveis em um arquivo de texto limpo.
  • ONLYOFFICE_HTTPS_HSTS_ENABLED: Desativa a configuração HSTS para SSL. Padrão: true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Define o HSTS max-age na configuração vHost do NGINX. Padrão: 31536000.
  • SSL_CERTIFICATE_PATH / SSL_KEY_PATH / SSL_DHPARAM_PATH: Sobrescreve as rotas internas nativas para os respectivos arquivos de criptografia.
  • DB_TYPE: O tipo do banco de dados (postgres, mariadb, mysql). Padrão: postgres.
  • DB_HOST / DB_PORT / DB_NAME / DB_USER / DB_PWD: Credenciais e caminhos para anexar a aplicação a um banco de dados hospedado externamente ao contêiner.
  • AMQP_URI / AMQP_TYPE: Strings de conexão para interagir com o serviço corretor de mensagens (RabbitMQ ou ActiveMQ).
  • REDIS_SERVER_HOST / REDIS_SERVER_PORT / REDIS_SERVER_PASS: Parâmetros de infraestrutura para o cache Redis.
  • NGINX_WORKER_PROCESSES / NGINX_WORKER_CONNECTIONS: Opções de escalonamento para o proxy web embutido da aplicação.
  • JWT_ENABLED / JWT_SECRET / JWT_HEADER: Gerenciamento mandatório das diretivas de validação do JSON Web Token de assinaturas da API.
  • ALLOW_META_IP_ADDRESS / ALLOW_PRIVATE_IP_ADDRESS: Gerencia restrições severas de segurança para conexões por IP. Padrão: false.
  • WOPI_ENABLED: Especifica a ativação técnica dos manipuladores WOPI. Padrão: false.
  • METRICS_ENABLED / METRICS_HOST / METRICS_PORT / METRICS_PREFIX: Variáveis para viabilizar e expor o StatsD na porta 8125 para monitoramento.
  • LETS_ENCRYPT_DOMAIN / LETS_ENCRYPT_MAIL: Exigidos para orquestrar e validar certificados do Let's Encrypt remotamente.

Configuração Experimental de IPv6

Funciona e é suportado estritamente em hosts Linux, tratando-se de um recurso em amadurecimento no ecossistema Docker.

O Docker não fornece endereçamentos IPv6 para contêineres nativamente. Para injetar essa capacidade no ONLYOFFICE, configure a engine editando o arquivo de daemon no host (/etc/docker/daemon.json):

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:abc1::/64"
}

Reinicie o serviço no host: systemctl restart docker. Após o restart da infraestrutura, os contêineres e a rede *bridge* herdarão a interface inet6. Para mais suporte, leia o manual de IPv6 do Docker.


Ecossistema Completo (Integração Workspace)

O ONLYOFFICE Docs é o pilar de processamento do ONLYOFFICE Workspace (que abrange o ONLYOFFICE Community Server, o Control Panel e o Mail Server). Se você deseja instalar a suíte de colaboração completa via Docker, leia estas instruções de integração do ecossistema.


Registrando sua versão Enterprise Edition

Se você adquiriu o licenciamento corporativo Enterprise Edition e obteve o arquivo assinado license.lic, você deve repassá-lo ao contêiner para destravar as restrições.

Basta alojar o arquivo license.lic na pasta vinculada ao mapeamento de Data no seu docker run (por exemplo, dentro da sua pasta mapeada como /var/www/onlyoffice/Data):

sudo docker run -i -t -d -p 80:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -e JWT_SECRET=meu_segredo_jwt \
    onlyoffice/documentserver-ee:latest

No início do carregamento, a engine reconhecerá o arquivo e a sua instalação do Enterprise Edition será convertida para registrada e completa automaticamente.

Artigo com o tag:
Veja todas as etiquetas