Pular para o conteúdo principal

Instalando o ONLYOFFICE Docs Enterprise Edition no Docker (ARM64)

Introdução​

A partir da versão 7.1, o ONLYOFFICE Docs pode ser instalado usando Docker para a arquitetura ARM de 64 bits.

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

ONLYOFFICE Docs é um pacote de escritório online que compreende visualizadores e editores para textos, planilhas e apresentações, totalmente compatível com formatos Office Open XML: .docx, .xlsx, .pptx e permitindo edição colaborativa em tempo real.

Funcionalidade

  • Editor de Documentos
  • Editor de Planilhas
  • Editor de Apresentações
  • Visualizadores web móveis
  • Editores web móveis
  • Edição colaborativa
  • Suporte a hieróglifos
  • Suporte para todos 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 ONLYOFFICE Workspace, você poderá:

  • compartilhar arquivos;
  • gerenciar direitos de acesso a documentos;
  • incorporar documentos em um site;
  • visualizar e editar arquivos armazenados em Drive, Box, Dropbox, OneDrive, OwnCloud conectados ao ONLYOFFICE.

Este guia mostrará como instalar o ONLYOFFICE Docs Enterprise Edition versão Docker 7.2 e posterior para a arquitetura ARM de 64 bits.

Requisitos do sistema​

  • CPU: Processadores ARM de 64 bits
  • RAM: 4 GB ou mais
  • HDD: pelo menos 40 GB de espaço livre
  • SWAP: pelo menos 4 GB, mas depende do SO host. Quanto mais, melhor
  • SO: Distribuição Linux para arm64
  • Requisitos adicionais
    • Docker: qualquer versão suportada pela equipe Docker

Instalando ONLYOFFICE Docs​

observação

Você precisa da versão mais recente do Docker instalada. Se você não a possui, consulte a seção Instalação no site do Docker para saber como obtê-la.

observação

O Docker especifica servidores DNS do Google por padrão. Se o seu ONLYOFFICE Docs não tiver acesso à Internet, recomendamos que você altere o endereço DNS padrão do Docker para o endereço do seu servidor DNS local. Para fazer isso, abra o arquivo /etc/default/docker e altere o endereço IP na linha a seguir para o endereço IP de um servidor DNS da sua rede local:

docker_OPTS="--dns 8.8.8.8"

Para sistemas operacionais baseados em RPM, como o CentOS:

  1. Crie o arquivo de configuração /etc/docker/daemon.json com o seguinte conteúdo:

    { "dns" : [ "8.8.8.8" ] }
  2. Reinicie o serviço Docker:

    sudo systemctl restart docker.service

Depois de instalar o Docker, inicie-o e execute o seguinte comando:

sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest
Importante

A partir da versão 7.2, adicionamos a geração aleatória do segredo JWT. Se o segredo JWT não for especificado com a variável de ambiente, ele será gerado novamente a cada reinicialização das VMs ou do servidor físico, o que pode causar problemas nas integrações. Para evitar esse problema, especifique seu próprio valor em -e JWT_SECRET=my_jwt_secret.

Se você não pretende usar JWT na sua instalação, use -e JWT_ENABLED=false.

observação

Por padrão, o ONLYOFFICE Docs escuta as conexões de entrada usando a porta 80. A partir da versão 4.3, você pode alterar a porta do ONLYOFFICE Docs se planeja usar outra em vez da padrão. Isso pode ser feito facilmente alterando o mapeamento da porta durante a instalação:

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

Onde <PORT_NUMBER> é o número da porta que você deseja que o ONLYOFFICE Docs use.

Isso instalará o ONLYOFFICE Docs e todas as dependências necessárias (a lista do que é feito pelo script pode ser encontrada aqui).

Armazenando dados fora dos containers​

Todos os dados são armazenados em diretórios especialmente designados, os volumes de dados, no seguinte local:

  • /var/log/onlyoffice para os logs do ONLYOFFICE Docs
  • /var/www/onlyoffice/Data para os certificados
  • /var/lib/onlyoffice para o cache de arquivos
  • /var/lib/postgresql para o banco de dados
Recomendamos

Recomendamos fortemente que você armazene os dados fora dos containers Docker, no computador host, pois isso permite atualizar facilmente o ONLYOFFICE Docs quando uma nova versão for lançada, sem perder seus dados.

Para acessar seus dados localizados fora do container, você precisa montar os volumes. Isso pode ser feito especificando a opção -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=my_jwt_secret onlyoffice/documentserver-ee:latest
observação

Observe que, se você tentar montar pastas que ainda não foram criadas, essas pastas serão criadas, mas o acesso a elas será limitado. Você precisará alterar as permissões de acesso manualmente.

Normalmente, você não precisa armazenar os dados do container, pois o funcionamento do container não depende do seu estado. Salvar os dados será útil:

  • para acessar facilmente os dados do container, como os logs;
  • para remover o limite de tamanho dos dados dentro do container;
  • ao usar serviços iniciados fora do container, como PostgreSQL, Redis, RabbitMQ.

Executando ONLYOFFICE Docs usando HTTPS​

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

O acesso ao aplicativo onlyoffice pode ser protegido usando SSL para impedir o acesso não autorizado. Embora um certificado SSL emitido por uma CA permita a verificação de confiança por meio da CA, os certificados autoassinados também podem oferecer um nível equivalente de verificação de confiança, desde que cada cliente execute algumas etapas adicionais para verificar a identidade do seu site. As instruções para isso são fornecidas abaixo.

Para proteger o aplicativo via SSL, basicamente são necessárias duas coisas:

  • Chave privada (.key)
  • Certificado SSL (.crt)

Portanto, você precisa criar e instalar os seguintes arquivos:

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

Ao usar certificados emitidos por uma CA (por exemplo, Let's Encrypt), esses arquivos são fornecidos pela CA. Se você estiver usando certificados autoassinados, precisará gerar esses arquivos você mesmo.

Mudando ONLYOFFICE Docs para HTTPS usando certbot​

A maneira mais fácil de mudar o ONLYOFFICE Docs para HTTPS é obter automaticamente certificados SSL Let's Encrypt usando o certbot.

Execute o container Docker do ONLYOFFICE Docs, especificando as portas 80 e 443 e definindo seus próprios valores para as variáveis:

sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest

Onde:

  • LETS_ENCRYPT_DOMAIN - um nome de domínio a ser usado para o certificado.
  • LETS_ENCRYPT_MAIL - um e-mail usado para registro e contato de recuperação.

O certificado assinado pela CA letsencrypt.org será gerado e instalado automaticamente no seu servidor. Agora, o seu ONLYOFFICE Docs deve estar disponível no endereço https://yourdomain.com.

Geração de certificados autoassinados​

A geração de certificados SSL autoassinados envolve um procedimento simples de 3 etapas:

ETAPA 1: Crie a chave privada do servidor

openssl genrsa -out onlyoffice.key 2048

ETAPA 2: Crie a solicitação de assinatura de certificado (CSR)

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

ETAPA 3: Assine o certificado usando a chave privada e a CSR

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

Agora você gerou um certificado SSL válido por 365 dias.

Reforçando a segurança do servidor​

Esta seção fornece instruções para reforçar a segurança do seu servidor.

Para isso, você precisa gerar parâmetros DHE mais fortes.

openssl dhparam -out dhparam.pem 2048

Instalação dos certificados SSL​

Dos quatro arquivos gerados acima, você precisa instalar os arquivos onlyoffice.key, onlyoffice.crt e dhparam.pem no servidor onlyoffice. O arquivo CSR não é necessário, mas certifique-se de fazer um backup seguro dele (caso precise dele novamente).

O caminho padrão em que o aplicativo onlyoffice está configurado para procurar os certificados SSL é /var/www/onlyoffice/Data/certs, mas isso pode ser alterado usando as opções de configuração SSL_KEY_PATH, SSL_CERTIFICATE_PATH e SSL_DHPARAM_PATH.

O caminho /var/www/onlyoffice/Data/ é o caminho do armazenamento de dados, o que significa que você precisa criar uma pasta chamada certs dentro de /app/onlyoffice/DocumentServer/data/ e copiar os arquivos para ela e, como medida de segurança, atualizar a permissão do arquivo onlyoffice.key para que ele possa ser lido apenas pelo proprietário.

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 container Docker:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Agora você está a apenas um passo de ter nosso aplicativo protegido.

Parâmetros de configuração disponíveis​

observação

Consulte as opções do comando docker run para o sinalizador --env-file, no qual você pode especificar todas as variáveis de ambiente necessárias em um único arquivo. Isso evitará que você precise escrever um comando docker run potencialmente longo.

Abaixo está a lista completa de parâmetros que podem ser definidos usando variáveis de ambiente.

  • ONLYOFFICE_HTTPS_HSTS_ENABLED: Opção de configuração avançada para desativar a configuração HSTS. Aplicável somente quando o SSL estiver em uso. O padrão é true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Opção de configuração avançada para definir o max-age do HSTS na configuração do vHost NGINX do onlyoffice. Aplicável somente quando o SSL estiver em uso. O padrão é 31536000.
  • SSL_CERTIFICATE_PATH: O caminho para o certificado SSL a ser usado. O padrão é /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: O caminho para a chave privada do certificado SSL. O padrão é /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: O caminho para o parâmetro Diffie-Hellman. O padrão é /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Ativa a verificação de certificados de cliente usando o CA_CERTIFICATES_PATH file. O padrão é false.
  • DB_TYPE: O tipo de banco de dados. Os valores suportados são postgres, mariadb ou mysql. O padrão é postgres.
  • DB_HOST: O endereço IP ou o nome do host em que o servidor de banco de dados está sendo executado.
  • DB_PORT: O número da porta do servidor de banco de dados.
  • DB_NAME: O nome de um banco de dados a ser criado na inicialização da imagem.
  • DB_USER: O novo nome de usuário com permissões de superusuário para a conta do banco de dados.
  • DB_PWD: A senha definida para a conta do banco de dados.
  • AMQP_URI: O URI AMQP para conectar-se ao servidor do message broker.
  • AMQP_TYPE: O tipo de message broker. Os valores suportados são rabbitmq ou activemq. O padrão é rabbitmq.
  • REDIS_SERVER_HOST: O endereço IP ou o nome do host em que o servidor Redis está sendo executado.
  • REDIS_SERVER_PORT: O número da porta do servidor Redis.
  • REDIS_SERVER_PASS: A senha do servidor Redis. A senha não é definida por padrão.
  • NGINX_WORKER_PROCESSES: Define o número de processos de trabalho do NGINX.
  • NGINX_WORKER_CONNECTIONS: Define o número máximo de conexões simultâneas que podem ser abertas por um processo de trabalho do NGINX.
  • SECURE_LINK_SECRET: Define o segredo para a diretiva de configuração do nginx secure_link_md5. O padrão é random string.
  • JWT_ENABLED: Especifica a ativação da validação do JSON Web Token pelo ONLYOFFICE Docs. O padrão é true.
  • JWT_SECRET: Define a chave secreta para validar o JSON Web Token na solicitação ao ONLYOFFICE Docs. O padrão é um valor aleatório.
  • JWT_HEADER: Define o cabeçalho HTTP que será usado para enviar o JSON Web Token. O padrão é Authorization.
  • JWT_IN_BODY: Especifica a ativação da validação do token no corpo da solicitação ao ONLYOFFICE Docs. O padrão é false.
  • ALLOW_META_IP_ADDRESS: Define se é permitido ou não conectar a um endereço IP meta. O padrão é false.
  • ALLOW_PRIVATE_IP_ADDRESS: Define se é permitido ou não conectar a um endereço IP privado. O padrão é false.
  • WOPI_ENABLED: Especifica a ativação dos manipuladores wopi. O padrão é false.
  • USE_UNAUTHORIZED_STORAGE: Defina como true se estiver usando certificados autoassinados para o seu servidor de armazenamento, por exemplo, o Nextcloud. O padrão é false.
  • GENERATE_FONTS: Quando true, gera novamente a lista de fontes, as miniaturas das fontes etc. a cada inicialização. O padrão é true.
  • METRICS_ENABLED: Especifica a ativação do StatsD para o ONLYOFFICE Docs. O padrão é false.
  • METRICS_HOST: Define o host de escuta do StatsD. O padrão é localhost.
  • METRICS_PORT: Define a porta de escuta do StatsD. O padrão é 8125.
  • METRICS_PREFIX: Define o prefixo das métricas do StatsD para os serviços de backend. O padrão é ds..
  • LETS_ENCRYPT_DOMAIN: Define o domínio para o certificado Let's Encrypt.
  • LETS_ENCRYPT_MAIL: Define o endereço de e-mail do administrador do domínio para o certificado Let's Encrypt.

Instalando o ONLYOFFICE Docs integrado ao ONLYOFFICE Workspace e ao ONLYOFFICE Mail​

O ONLYOFFICE Docs faz parte do ONLYOFFICE Workspace, que também abrange o ONLYOFFICE Community Server, o ONLYOFFICE Control Panel e o ONLYOFFICE Mail. Caso você queira instalar todos eles e integrá-los entre si, leia estas instruções.

Registrando sua versão Enterprise Edition​

Se você adquiriu o Enterprise Edition e recebeu o arquivo license.lic, pode colocá-lo na sua instalação para obter a versão completa do software.

Ao usar o container docker, o arquivo license.lic pode ser colocado em qualquer pasta (por exemplo, /app/onlyoffice/DocumentServer/data/license.lic), mas você precisará montar essa pasta quando o container for iniciado:

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

Depois disso, sua versão do Enterprise Edition ficará registrada e com todos os recursos.