Este artigo foi traduzido por IA

Instalando ONLYOFFICE Docs para Docker em um servidor local

Introdução

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

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

Funcionalidades

  • Editor de documentos
  • Editor de planilhas
  • Editor de apresentações
  • Visualizadores 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 Community Edition.

Usando-o dentro do ONLYOFFICE Workspace, você poderá:

  • compartilhar arquivos;
  • gerenciar direitos de acesso aos 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 Community Edition na sua máquina.

Requisitos do sistema
  • CPU: dual core 2 GHz ou melhor
  • RAM: 4 GB ou mais
  • HDD: pelo menos 40 GB de espaço livre
  • SWAP: pelo menos 4 GB, mas depende do sistema operacional do host. Mais é melhor
  • OS: distribuição Linux amd64 com versão do kernel 3.10 ou posterior
  • Requisitos adicionais
    • Docker: qualquer versão suportada pela equipe do Docker

Instalando o ONLYOFFICE Docs

Você precisa ter a versão mais recente do Docker instalada. Se você não a tiver, 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 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, vá para o arquivo /etc/default/docker e altere o endereço IP na seguinte linha para o endereço IP de um servidor DNS na 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, 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
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, ele será regenerado a cada reinicialização de VMs ou servidores físicos, 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 for usar JWT na sua instalação, use -e JWT_ENABLED=false.

Use este comando se desejar instalar o ONLYOFFICE Docs separadamente. Para instalar o ONLYOFFICE Docs integrado com o ONLYOFFICE Workspace e o ONLYOFFICE Mail, consulte as instruções correspondentes abaixo.

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 facilmente feito 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
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).

Verificando a instalação

Uma vez que o contêiner esteja em execução, abra http://localhost (ou o endereço IP do seu servidor) em um navegador. A página de boas-vindas do ONLYOFFICE Docs deve aparecer, confirmando que a instalação foi bem-sucedida.

Se a página de boas-vindas não aparecer, verifique os logs do contêiner para erros:

sudo docker logs <CONTAINER_ID>

Problemas comuns:

  • A porta 80 já está em uso por outro aplicativo. Pare o aplicativo conflitante ou use uma porta diferente com -p <PORT_NUMBER>:80.
  • O contêiner continua reiniciando. Verifique os logs para erros de conexão com o banco de dados ou memória insuficiente.
  • "Conexão recusada" no navegador. Aguarde 1–2 minutos — a primeira inicialização leva tempo enquanto o banco de dados é inicializado.

Armazenando dados fora dos contêineres

Todos os dados são armazenados em diretórios especialmente designados, volumes de dados, na seguinte localização:

  • /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 contêineres Docker na máquina host, pois isso permite que você atualize facilmente o ONLYOFFICE Docs quando uma nova versão for lançada, sem perder seus dados.

Para acessar 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=my_jwt_secret onlyoffice/documentserver
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 contêiner porque a operação do contêiner não depende do seu estado. Salvar dados será útil:

  • para fácil acesso aos dados do contêiner, como logs;
  • para remover o limite de 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=my_jwt_secret onlyoffice/documentserver

O acesso ao aplicativo ONLYOFFICE pode ser protegido usando SSL para evitar acesso não autorizado. 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 tome algumas medidas adicionais para verificar a identidade do seu site. As instruções para alcançar 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 certificados por CA (por exemplo, Let's Encrypt), esses arquivos são fornecidos a você pela CA. Se você estiver usando certificados autoassinados, precisará gerar esses arquivos você mesmo.

Mudando o 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 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=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

Onde:

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

O certificado assinado pela CA letsencrypt.org será gerado e instalado automaticamente em 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:

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 o 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.

Fortalecendo a segurança do servidor

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

O caminho padrão que a aplicação onlyoffice está configurada para procurar os certificados SSL é /var/www/onlyoffice/Data/certs, no entanto, 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 dentro dela e, como medida de segurança, você atualizará a permissão no arquivo onlyoffice.key para que seja 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 contêiner Docker:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Agora você está a apenas um passo de ter nossa aplicação segura.

Parâmetros de configuração disponíveis
Consulte as opções de 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ê escreva um comando docker run potencialmente longo.

Abaixo está a lista completa de parâmetros que podem ser configurados 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 tempo máximo de HSTS na configuração do vHost NGINX 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: Habilitar verificação de certificados de cliente usando o arquivo CA_CERTIFICATES_PATH. O padrão é false.
  • DB_TYPE: O tipo de banco de dados. 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á 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 do banco de dados.
  • DB_PWD: A senha definida para a conta do 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. O 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.
  • 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 nginx secure_link_md5. O padrão é random string.
  • JWT_ENABLED: Especifica a habilitação da validação do token web JSON pelo ONLYOFFICE Docs. O padrão é true.
  • JWT_SECRET: Define a chave secreta para validar o token web JSON na solicitação para o ONLYOFFICE Docs. O padrão é valor aleatório.
  • JWT_HEADER: Define o cabeçalho HTTP que será usado para enviar o token web JSON. O padrão é Authorization.
  • JWT_IN_BODY: Especifica a habilitação da validação do token no corpo da solicitação para o ONLYOFFICE Docs. O padrão é false.
  • WOPI_ENABLED: Especifica a habilitação dos manipuladores wopi. O padrão é false.
  • USE_UNAUTHORIZED_STORAGE: Defina como true se estiver usando certificados autoassinados para seu servidor de armazenamento, por exemplo, Nextcloud. O padrão é false.
  • GENERATE_FONTS: Quando true, regenera a lista de fontes e as miniaturas das fontes, etc., a cada início. O padrão é true.
  • METRICS_ENABLED: Especifica se o StatsD está habilitado 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 ONLYOFFICE Docs integrado com ONLYOFFICE Workspace e ONLYOFFICE Mail

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

Maneiras alternativas de instalar ONLYOFFICE Docs

Alternativamente, você pode usar um script de instalação automática para instalar todo o Workspace de uma vez. Para que o servidor de e-mail funcione corretamente, você precisa especificar seu nome de host seudominio.com.

ETAPA 1: Baixe o arquivo do script de instalação

Execute o seguinte comando:

curl -O https://download.onlyoffice.com/install/workspace-install.sh

ETAPA 2: Instale o Workspace

Execute o seguinte comando para fazer isso:

bash workspace-install.sh -md seudominio.com

Ou você pode usar o docker-compose para instalar o ONLYOFFICE Docs. Veja as instruções aqui sobre como fazer isso.

Configuração de ipv6 para ONLYOFFICE Docs

Funciona e é suportado apenas para hosts Linux

O Docker atualmente não fornece endereços ipv6 para contêineres por padrão. Esta função é experimental agora.

Para configurar a interação via ipv6, você precisa habilitar o suporte para esse recurso no seu Docker. Para isso, você precisa:

  • criar o arquivo /etc/docker/daemon.json com o seguinte conteúdo:
    {
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:abc1::/64"
    }
  • reiniciar o docker com o seguinte comando: systemctl restart docker

Após isso, todos os contêineres em execução recebem um endereço ipv6 e possuem uma interface inet6.

Você pode verificar sua rede de ponte padrão e ver o campo lá EnableIPv6=true. Um novo sub-rede ipv6 também será adicionado.

Para mais informações, visite o site oficial do manual do Docker.

Artigo com o tag:
Veja todas as etiquetas