- Home
- Docs
- Instalação e configuração
- Desenvolvedor
- Versão Docker
- Instalando ONLYOFFICE Docs para Docker em um servidor local
Instalando ONLYOFFICE Docs para Docker em um servidor local
Introdução
Developer Edition permite que você instale o ONLYOFFICE Docs no seu servidor local e integre os editores online com sua aplicação web.
ONLYOFFICE Docs é uma suíte de escritório online que inclui visualizadores e editores para textos, planilhas e apresentações, totalmente compatível com os formatos Office Open XML: .docx, .xlsx, .pptx e que possibilita a edição colaborativa em tempo real.
Funcionalidades
- 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 funcionalidades disponíveis para o ONLYOFFICE Docs Developer Edition.
Este guia mostrará como instalar a versão Docker do ONLYOFFICE Docs Developer Edition em sua máquina.
Requisitos do sistema
-
CPUdual core 2 GHz ou melhor
-
RAM4 GB ou mais
-
HDDpelo menos 40 GB de espaço livre
-
SWAPpelo menos 4 GB, mas depende do sistema operacional do host. Mais é melhor
-
SODistribuição Linux amd64 com versão do kernel 3.10 ou posterior
-
Requisitos adicionais
- Docker: qualquer versão suportada pela equipe 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-de
-e JWT_SECRET=my_jwt_secret.
Se você não for usar JWT na sua instalação, use -e JWT_ENABLED=false.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
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 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-de
Normalmente, você não precisa armazenar dados do contêiner porque a operação do contêiner não depende de seu estado. Salvar dados será útil:
- para fácil acesso aos dados do contêiner, como logs;
- para remover o limite no tamanho dos dados dentro do contêiner;
- ao usar serviços lançados fora do contêiner, 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
O acesso ao aplicativo onlyoffice pode ser protegido usando SSL para evitar acesso não autorizado. Enquanto um certificado SSL certificado por CA permite 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 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 (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 ONLYOFFICE Docs para HTTPS usando certbot
A maneira mais fácil de mudar ONLYOFFICE Docs para HTTPS é obter automaticamente certificados SSL do Let's Encrypt usando 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-de
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, 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 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.
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 que o aplicativo onlyoffice está configurado 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 lá e, como medida de segurança, você atualizará a permissão no arquivo onlyoffice.key para que seja 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}}
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 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 vHost do onlyoffice NGINX. Aplicável apenas quando 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 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,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 AMQP URI para conectar-se ao servidor de broker de mensagens.
- AMQP_TYPE: O tipo de broker de mensagens. Os 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.
- 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 habilitaçã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 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 habilitação da validação do token no corpo da solicitação para o ONLYOFFICE Docs. O padrão é
false. - ALLOW_META_IP_ADDRESS: Define se é permitido conectar o endereço IP meta ou não. O padrão é
false. - ALLOW_PRIVATE_IP_ADDRESS: Define se é permitido conectar o endereço IP privado ou não. 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 o seu servidor de armazenamento, por exemplo, 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 habilitaçã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.
Configuração do ipv6 para ONLYOFFICE Docs
O Docker atualmente não fornece endereços ipv6 para contêineres por padrão. Esta função é experimental no momento.
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 receberão um endereço ipv6 e terão uma interface inet6.
Você pode verificar sua rede de ponte padrão e ver o campo EnableIPv6=true lá. Uma nova sub-rede ipv6 também será adicionada.
Para mais informações, visite o site oficial do manual do Docker
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 contêiner 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 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=my_jwt_secret onlyoffice/documentserver-de
Após isso, sua versão da Developer Edition será registrada e com todos os recursos habilitados.