Instalando a versão Docker do ONLYOFFICE Docs Enterprise Edition para a arquitetura ARM de 64 bits

Introdução

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

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

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

Funcionalidade

  • Document Editor
  • Spreadsheet Editor
  • Presentation Editor
  • 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 no Drive, Box, Dropbox, OneDrive, OwnCloud conectados ao ONLYOFFICE.

Este guia mostrará como 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 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 do Docker

Instalando o ONLYOFFICE Docs

Você precisa da versão mais recente do Docker instalada. Caso não a tenha, consulte a seção de Instalação no site do Docker para saber como obtê-la.
O Docker especifica os servidores DNS do Google por padrão. Se o seu ONLYOFFICE Docs não for ter 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, vá ao arquivo /etc/default/docker e altere o endereço IP na seguinte linha para o endereço IP de um servidor DNS em 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 ter o Docker instalado, execute-o e execute o seguinte comando:

sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=meu_segredo_jwt 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á regenerado a cada reinicialização de VMs ou servidor físico, o que pode causar problemas em integrações. Para evitar esse problema, especifique seu próprio valor em -e JWT_SECRET=meu_segredo_jwt.

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

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 usá-la em vez da porta padrão. Isso pode ser feito facilmente alterando a porta de mapeamento durante a instalação:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=meu_segredo_jwt onlyoffice/documentserver-ee:latest
Onde <PORT_NUMBER> é o número da porta que você deseja que o ONLYOFFICE Docs utilize.

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

Armazenando dados fora dos contêineres

Todos os dados são armazenados em diretórios designados especificamente, volumes de dados, nos seguintes locais:

  • /var/log/onlyoffice para logs do ONLYOFFICE Docs
  • /var/www/onlyoffice/Data para certificados
  • /var/lib/onlyoffice para cache de arquivos
  • /var/lib/postgresql para banco de dados
Recomendamos Recomendamos fortemente que você armaneze os dados fora dos contêineres Docker na máquina host, pois isso permite atualizar facilmente o ONLYOFFICE Docs quando uma nova versão for lançada sem perder seus dados.

Para obter acesso aos seus dados localizados fora do contêiner, 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=meu_segredo_jwt onlyoffice/documentserver-ee:latest
Observe que, caso você tente montar pastas que ainda não foram criadas, essas pastas serão criadas, mas o acesso a elas será limitado. Você precisará alterar os direitos de acesso manualmente.

Normalmente, você não precisa armazenar os dados do contêiner porque a operação do contêiner não depende de seu estado. Salvar os dados será útil para:

  • acesso fácil aos dados do contêiner, como logs;
  • remover o limite do tamanho dos dados dentro do contêiner;
  • ao usar serviços lançados fora do contêiner, como PostgreSQL, Redis, RabbitMQ.

Executando o 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=meu_segredo_jwt onlyoffice/documentserver-ee:latest

O acesso à aplicação ONLYOFFICE pode ser protegido usando SSL para evitar acessos não autorizados. Embora um certificado SSL certificado por uma CA permita a verificação de confiança via CA, certificados autoassinados também podem fornecer um nível igual de verificação de confiança, desde que cada cliente execute etapas adicionais para verificar a identidade do seu site. As instruções para conseguir isso são fornecidas abaixo.

Para proteger a aplicação via SSL, basicamente duas coisas são necessárias:

  • 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 certificados por CA (ex: Let's Encrypt), esses arquivos são fornecidos a você pela CA. Se estiver usando certificados autoassinados, você precisa gerar esses arquivos por conta própria.

Mudando o ONLYOFFICE Docs para HTTPS usando certbot

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

Execute o contêiner 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=seudominio.com -e LETS_ENCRYPT_MAIL=email@exemplo.com -e JWT_SECRET=meu_segredo_jwt onlyoffice/documentserver-ee:latest

Onde:

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

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

Geração de certificados autoassinados

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

PASSO 1: Crie a chave privada do servidor

openssl genrsa -out onlyoffice.key 2048

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

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

PASSO 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

Você gerou agora um certificado SSL que é 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 conseguir 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 do arquivo (caso precise dele novamente).

O caminho padrão em que a aplicação ONLYOFFICE está configurada 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ê deve criar uma pasta chamada certs dentro de /app/onlyoffice/DocumentServer/data/ e copiar os arquivos para ela e, como medida de segurança, você atualizará a permissão no arquivo onlyoffice.key para ser legível 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 contêiner Docker:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Você está agora a apenas um passo de ter nossa aplicação protegida.

Parâmetros de configuração disponíveis
Consulte as opções do comando docker run para a flag --env-file, onde você pode especificar todas as variáveis de ambiente necessárias em um único arquivo. Isso evitará que você tenha que 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 apenas quando o SSL está em uso. O padrão é true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Opção de configuração avançada para definir o HSTS max-age na configuração do NGINX vHost do onlyoffice. Aplicável apenas quando o SSL está 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: Habilita a verificação de certificados de cliente usando o arquivo CA_CERTIFICATES_PATH. 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 onde o servidor de banco de dados está rodando.
  • 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: A URI AMQP para conectar ao servidor corretor de mensagens.
  • AMQP_TYPE: O tipo de corretor de mensagens. Os valores suportados são rabbitmq ou activemq. O padrão é rabbitmq.
  • REDIS_SERVER_HOST: O endereço IP ou o nome do host onde o servidor Redis está rodando.
  • 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 worker do NGINX.
  • NGINX_WORKER_CONNECTIONS: Define o número máximo de conexões simultâneas que podem ser abertas por um processo worker do NGINX.
  • SECURE_LINK_SECRET: Define o segredo para a diretiva de configuração do nginx secure_link_md5. O padrão é uma string aleatória.
  • 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 requisição para o 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 requisição para o ONLYOFFICE Docs. O padrão é false.
  • ALLOW_META_IP_ADDRESS: Define se é permitido conectar ao endereço IP meta ou não. O padrão é false.
  • ALLOW_PRIVATE_IP_ADDRESS: Define se é permitido conectar ao endereço IP privado ou não. 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 seu servidor de armazenamento, ex: Nextcloud. O padrão é false.
  • GENERATE_FONTS: Quando true, regenera a lista de fontes e as miniaturas de 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 de métricas do StatsD para 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 com o ONLYOFFICE Workspace e o ONLYOFFICE Mail

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

Registrando sua versão Enterprise Edition

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

Quando você estiver usando o contêiner docker, o arquivo license.lic pode ser colocado em qualquer pasta (ex: /app/onlyoffice/DocumentServer/data/license.lic), mas você precisará montar esta pasta quando o contêiner iniciar:

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

Depois disso, sua versão do Enterprise Edition se tornará registrada e completa.

Artigo com o tag:
Veja todas as etiquetas