• Home
  • Instalando versão Docker do ONLYOFFICE Docs para arm64

Instalando versão Docker do ONLYOFFICE Docs para 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.

Developer Edition permite instalar o ONLYOFFICE Docs em seu servidor local e integrar editores online com seu aplicativo web.

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 Developer Edition.

Este guia mostrará como instalar o ONLYOFFICE Docs Developer 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

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.
O Docker especifica servidores DNS do Google por padrão. Se o seu ONLYOFFICE Docs não 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á para o arquivo /etc/default/docker e altere o endereço IP na linha seguinte 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 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=my_jwt_secret onlyoffice/documentserver-de:latest
Importante A partir da versão 7.2, adicionamos uma geração aleatória de segredo JWT. Se o segredo JWT não for especificado com a variável de ambiente, isso leva à sua regeneração durante cada reinicialização de VMs ou servidor físico, portanto, pode haver 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 em sua instalação, use -e JWT_ENABLED=false.

Por padrão, o ONLYOFFICE Docs escuta as conexões recebidas usando a porta 80. A partir da versão 4.3, você pode alterar a porta para o ONLYOFFICE Docs se planeja usá-la em vez da 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=my_jwt_secret onlyoffice/documentserver-de: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 está sendo feito pelo script pode ser encontrada aqui).

Armazenando dados fora dos containers

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

  • /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ê armazene os dados fora dos containers Docker no computador host, pois isso permite que você atualize facilmente o ONLYOFFICE Docs assim que a nova versão for lançada sem perder seus dados.

Para obter acesso aos 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-de:latest
Observe que, caso você esteja tentando montar pastas que ainda não foram criadas, essas pastas serão criadas, mas o acesso a elas será limitado. Você precisará alterar manualmente seus direitos de acesso.

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

  • para fácil acesso aos dados do container, como logs;
  • para remover o limite no 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-de:latest

O acesso ao aplicativo onlyoffice pode ser protegido usando SSL para evitar acesso não autorizado. Embora um certificado SSL certificado pela CA permita a verificação de confiança através da CA, certificados autoassinados também podem fornecer um nível igual de verificação de confiança, desde que cada cliente tome algumas medidas adicionais para verificar a identidade do seu site. As instruções para conseguir isso são fornecidas abaixo.

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

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

Então 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 pela CA (por exemplo, Let's Encrypt), esses arquivos são fornecidos a você pela CA. Se você estiver usando certificados autoassinados, precisa 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 do Let's Encrypt usando 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-de: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á automaticamente gerado e instalado em seu servidor. Agora, 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: Criar a chave privada do servidor

openssl genrsa -out onlyoffice.key 2048

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

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

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

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

Você agora gerou um certificado SSL válido por 365 dias.

Fortalecendo a segurança do servidor

Esta seção fornece instruções para fortalecer 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 backup do arquivo com segurança (caso precise dele novamente).

O caminho padrão que o aplicativo onlyoffice está configurado para procurar os certificados SSL é em /var/www/onlyoffice/Data/certs, isso pode, no entanto, 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, 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 container Docker:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Você está agora a apenas um passo de ter nosso aplicativo protegido.

Parâmetros de configuração disponíveis
Consulte as opções de comando docker run para o sinalizador --env-file, onde você pode especificar todas as variáveis de ambiente necessárias em um único arquivo. Isso evitará que você escreva 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 SSL está em uso. Padrão true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Opção de configuração avançada para definir o max-age do HSTS na configuração vHost NGINX do onlyoffice. Aplicável apenas quando SSL está em uso. Padrão 31536000.
  • SSL_CERTIFICATE_PATH: O caminho para o certificado SSL a ser usado. Padrão /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: O caminho para a chave privada do certificado SSL. Padrão /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: O caminho para o parâmetro Diffie-Hellman. 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. Padrão false.
  • DB_TYPE: O tipo de banco de dados. Valores suportados são postgres, mariadb ou mysql. Padrão postgres.
  • DB_HOST: O endereço IP ou o nome do host onde o servidor de banco de dados está em execução.
  • 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 de banco de dados.
  • DB_PWD: A senha definida para a conta de banco de dados.
  • AMQP_URI: O URI AMQP para conectar ao servidor de broker de mensagens.
  • AMQP_TYPE: O tipo de broker de mensagens. Valores suportados são rabbitmq ou activemq. Padrão rabbitmq.
  • REDIS_SERVER_HOST: O endereço IP ou o nome do host onde o servidor Redis está em execução.
  • 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 NGINX.
  • NGINX_WORKER_CONNECTIONS: Define o número máximo de conexões simultâneas que podem ser abertas por um processo de trabalho NGINX.
  • SECURE_LINK_SECRET: Define o segredo para a diretiva de configuração nginx secure_link_md5. Padrão string aleatória.
  • JWT_ENABLED: Especifica a habilitação da validação de token web JSON pelo ONLYOFFICE Docs. Padrão true.
  • JWT_SECRET: Define a chave secreta para validar o token web JSON na solicitação ao ONLYOFFICE Docs. Padrão valor aleatório.
  • JWT_HEADER: Define o cabeçalho HTTP que será usado para enviar o token web JSON. Padrão Authorization.
  • JWT_IN_BODY: Especifica a habilitação da validação de token no corpo da solicitação ao ONLYOFFICE Docs. Padrão false.
  • ALLOW_META_IP_ADDRESS: Define se é permitido conectar endereço IP meta ou não. Padrão false.
  • ALLOW_PRIVATE_IP_ADDRESS: Define se é permitido conectar endereço IP privado ou não. Padrão false.
  • WOPI_ENABLED: Especifica a habilitação dos manipuladores wopi. Padrão false.
  • USE_UNAUTHORIZED_STORAGE: Defina como true se usar certificados autoassinados para seu servidor de armazenamento, por exemplo, Nextcloud. Padrão false.
  • GENERATE_FONTS: Quando true, regenera a lista de fontes e as miniaturas de fontes etc. a cada inicialização. Padrão true.
  • METRICS_ENABLED: Especifica a habilitação do StatsD para o ONLYOFFICE Docs. Padrão false.
  • METRICS_HOST: Define o host de escuta do StatsD. Padrão localhost.
  • METRICS_PORT: Define a porta de escuta do StatsD. Padrão 8125.
  • METRICS_PREFIX: Define o prefixo de métricas do StatsD para serviços de backend. 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.

Registrando sua versão Developer Edition

Se você comprou a Developer 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ê está usando 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 esta 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-de:latest

Depois disso, sua versão da Developer Edition se tornará registrada e com todos os recursos.

Artigo com o tag:
Veja todas as etiquetas