- Home
- Docs
- Instalação e configuração
- Desenvolvedor
- Versão Docker
- Instalando o ONLYOFFICE Docs para Docker no KylinOS
Instalando o ONLYOFFICE Docs para Docker no KylinOS
Introdução
A versão Developer Edition permite que você instale o ONLYOFFICE Docs em seu servidor local e integre os editores online diretamente com seu próprio aplicativo web, plataforma de colaboração ONLYOFFICE ou com outros sistemas DMS de terceiros.
O ONLYOFFICE Docs é uma suíte de escritório online que compreende visualizadores e editores para documentos de texto, planilhas e apresentações, apresentando compatibilidade total nativa com os formatos Office Open XML (.docx, .xlsx, .pptx) e permitindo edição colaborativa e coautoria em tempo real.
Principais Recursos incluídos:
- Document Editor (Editor de Textos)
- Spreadsheet Editor (Editor de Planilhas)
- Presentation Editor (Editor de Apresentações)
- Visualizadores e editores otimizados para web móvel
- Edição colaborativa simultânea (Coautoria)
- Suporte avançado a hieróglifos e alfabetos internacionais
- Suporte para todos os formatos populares: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX e HTML
Para auditar a especificação detalhada de recursos, consulte a listagem da versão Developer Edition no GitHub.
Ao utilizá-lo integrado ao ONLYOFFICE Workspace, você poderá:
- Compartilhar arquivos em redes locais e nuvem;
- Gerenciar permissões de segurança e direitos de acesso a documentos;
- Incorporar documentos dinâmicos em portais corporativos e sites;
- Visualizar e editar arquivos armazenados no Drive, Box, Dropbox, OneDrive e ownCloud conectados ao ONLYOFFICE.
A partir da versão 7.2, as imagens Docker do ONLYOFFICE Docs foram otimizadas e homologadas para execução no sistema operacional chinês Kylin Linux Advanced Server OS release V10. Este guia demonstrará o passo a passo para instalar a edição Developer neste ambiente.
Requisitos de Sistema da Instância
- CPU: Processador Dual-Core de 2 GHz ou superior.
- Memória RAM: 4 GB ou mais.
- Armazenamento (HDD/SSD): Pelo menos 40 GB de espaço livre em disco rígido.
- Partição SWAP: Mínimo de 4 GB (a alocação real depende do SO host; quanto mais recursos disponíveis, melhor a estabilidade).
- Sistema Operacional: Distribuição Linux arquitetura amd64 executando versão de kernel 3.10 ou posterior.
- Docker: Qualquer versão estável suportada pelo KylinOS.
Instalando o ONLYOFFICE Docs no KylinOS
Em sistemas baseados em Debian/Ubuntu, edite o arquivo /etc/default/docker e altere a seguinte linha:
docker_OPTS="--dns-local-ip"
Para sistemas operacionais corporativos baseados em RPM (como o KylinOS ou CentOS):
- Crie ou edite o arquivo de configuração de rede em
/etc/docker/daemon.jsone insira o seguinte conteúdo:
(Substitua 192.168.1.1 pelo IP do servidor DNS da sua rede local).{ "dns" : [ "192.168.1.1" ] } - Reinicie o serviço do Docker para aplicar a nova tabela de rotas:
sudo systemctl restart docker.service
1. Desabilite as restrições do SELinux
Por motivos de isolamento de contêineres e montagem de volumes, é necessário desabilitar as diretivas do SELinux no arquivo de configuração do sistema em /etc/selinux/config.
Abra o arquivo utilizando o editor de sua preferência (como nano ou vim), localize a linha de status e substitua o valor SELINUX=enforcing (ou permissive) por SELINUX=disabled. Salve as alterações.
Aplique um reboot no servidor para limpar o cache da memória. Ao reiniciar, valide se o SELinux está desativado executando:
sestatus
O retorno do console deve indicar: SELinux status: disabled.
2. Execute o contêiner do ONLYOFFICE Docs
Rode o comando de inicialização padrão para implantar a edição Developer Edition no Docker:
sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-de
-e JWT_SECRET=seu_jwt_secret_exclusivo.
Caso precise desabilitar completamente a validação por tokens na sua rede de testes local, utilize a flag: -e JWT_ENABLED=false.
Nota de Segurança de Sandbox: O argumento --security-opt seccomp=unconfined é mandatório no KylinOS para desabilitar restrições de chamadas de sistema (syscalls) que bloqueiam componentes internos do contêiner. Para ambientes que exigem hardening avançado, você pode adotar o perfil customizado de seccomp oficial baixando o arquivo kylin-seccomp7.json diretamente dos repositórios do ONLYOFFICE.
sudo docker run -i -t -d -p <NUMERO_DA_PORTA>:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-de
Substitua o marcador <NUMERO_DA_PORTA> pela porta desejada (ex: 8080).
3. Configure as exceções de Firewall (Firewalld)
Abra as regras do firewall local para liberar a escuta na porta mapeada (porta 80 padrão) e recarregue o motor de regras da máquina:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Pronto. Agora você pode abrir o navegador e digitar o endereço http://localhost (ou o IP da máquina) para acessar a interface inicial de boas-vindas do ONLYOFFICE Docs, que trará links de integração e documentação detalhada de chamadas de API.
Armazenando dados e logs fora dos contêineres (Volumes)
A arquitetura padrão do ONLYOFFICE Docs organiza e gera dados nos seguintes caminhos internos:
/var/log/onlyoffice— Logs de transações e erros de coautoria./var/www/onlyoffice/Data— Certificados SSL/TLS e chaves de licença./var/lib/onlyoffice— Caches de arquivos temporários manipulados pelos editores./var/lib/postgresql— Persistência de tabelas do banco de dados interno.
Para expor e salvar as pastas em diretórios locais seguros do host, realize as montagens de volume utilizando as flags -v na execução do contêiner:
sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --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=seu_jwt_secret_exclusivo onlyoffice/documentserver-de
Aviso de Permissões: Caso a pasta de destino passada na máquina host ainda não exista, o Docker criará o diretório automaticamente, porém com privilégios restritos de root. Certifique-se de ajustar os donos e as permissões de gravação via comando chmod / chown para que os processos internos do contêiner gravem dados sem falhas de I/O.
Executando o ONLYOFFICE Docs utilizando SSL/HTTPS
Para tráfego seguro criptografado, você pode subir o contêiner mapeando a porta segura 443:
sudo docker run -i -t -d -p 443:443 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-de
Para assegurar a comunicação contra interceptações de tráfego, você deve configurar uma chave privada (.key) e um certificado emitido (.crt). O NGINX interno do contêiner está programado de fábrica para buscar as assinaturas exatamente nestas localizações estruturais:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Abordagem A: Geração de Certificados válidos automáticos com Certbot (Let's Encrypt)
Se o seu servidor estiver exposto publicamente na internet e possuir uma entrada de DNS apontando para ele, a forma mais prática de migrar para HTTPS é injetar as variáveis de automação do Let's Encrypt diretamente na inicialização do contêiner:
sudo docker run -i -t -d -p 80:80 -p 443:443 --security-opt seccomp=unconfined --restart=always \
-e LETS_ENCRYPT_DOMAIN=seu-dominio-corporativo.com \
-e LETS_ENCRYPT_MAIL=admin@seu-dominio.com \
-e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-de
O ecossistema se encarregará de fazer a validação HTTP do domínio, baixar as chaves assinadas pela CA e reiniciar o proxy reverso automaticamente. Sua suíte estará acessível de forma segura em https://seu-dominio-corporativo.com.
Abordagem B: Geração Manual de Certificados Autoassinados
Caso a sua infraestrutura opere em uma Intranet fechada, você precisará forjar seus próprios certificados locais via OpenSSL seguindo três etapas no terminal:
Passo 1 (Chave Privada): Criar a chave RSA de 2048 bits:
openssl genrsa -out onlyoffice.key 2048
Passo 2 (CSR): Gerar a solicitação de assinatura declarando os metadados da organização:
openssl req -new -key onlyoffice.key -out onlyoffice.csr
Passo 3 (Assinatura): Assinar digitalmente o certificado estendendo a validade para 365 dias:
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Passo 4 (Hardening Diffie-Hellman): Gere parâmetros DHStrong mais robustos para mitigar vulnerabilidades de criptografia fraca no TLS:
openssl dhparam -out dhparam.pem 2048
Instalação física dos arquivos gerados:
Crie o diretório de destino correspondente ao volume montado do servidor de documentos, mova as chaves geradas para lá e altere as permissões da chave privada para leitura restrita do dono do processo por conformidade de segurança:
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 para forçar o reload do NGINX interno:
sudo docker restart {{CONTEINER_ID}}
Ativação e Registro da Licença Developer
Se você comprou a licença comercial da ONLYOFFICE Docs Developer Edition e possui o arquivo descritor license.lic, coloque-o na pasta de montagem de dados no host para ativar a versão de produção:
/app/onlyoffice/DocumentServer/data/license.lic
Certifique-se de iniciar o contêiner mapeando este volume de dados persistentes para que as chaves de licenciamento sejam validadas em tempo de execução:
sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=seu_jwt_secret_exclusivo onlyoffice/documentserver-de
Pronto. A ativação será processada e os limites computacionais da licença Developer Edition estarão disponíveis.