- Home
- Docs
- Instalação e configuração
- Community
- Versão Docker
- Instalando ONLYOFFICE Docs para Docker em um servidor local
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
/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:
- Crie o arquivo de configuração
/etc/docker/daemon.jsoncom o seguinte conteúdo:{ "dns" : [ "8.8.8.8" ] } - 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
-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.
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/onlyofficepara logs do ONLYOFFICE Docs/var/www/onlyoffice/Datapara certificados/var/lib/onlyofficepara cache de arquivos/var/lib/postgresqlpara banco de 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
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
--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,mariadboumysql. 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
rabbitmqouactivemq. 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
truese 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
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.jsoncom 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.