Executando o ONLYOFFICE Docs Developer Edition com Podman no Fedora

Introdução

O Developer Edition permite que você instale o ONLYOFFICE Docs em seu próprio servidor local e integre os editores online de forma programática com a sua aplicação web proprietária.

O ONLYOFFICE Docs é um pacote office online de alto desempenho que compreende visualizadores e editores para textos, planilhas e apresentações. É totalmente compatível com os padrões Office Open XML (.docx, .xlsx, .pptx) e permite edição colaborativa segura em tempo real.

Principais Funcionalidades:

  • Document Editor, Spreadsheet Editor e Presentation Editor
  • Visualizadores e editores web otimizados para dispositivos móveis
  • Edição colaborativa em tempo real (Coautoria)
  • Suporte a hieróglifos e caracteres complexos
  • Suporte nativo para os formatos mais populares: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Consulte a lista detalhada de recursos disponíveis para o ONLYOFFICE Docs Developer Edition.

Este guia demonstrará como instalar a versão Linux do ONLYOFFICE Docs Developer Edition utilizando a engine do Podman no Fedora. O Podman é uma ferramenta nativa, sem daemon (daemonless), projetada para executar, gerenciar e orquestrar contêineres Linux de forma altamente segura.


Requisitos de sistema

  • CPU: Processador Dual Core de 2 GHz ou superior
  • RAM: 4 GB ou mais
  • HDD / SSD: Pelo menos 40 GB de espaço livre em disco
  • SWAP: Pelo menos 4 GB (A eficiência do Swap depende estritamente do sistema operacional host; quanto mais espaço reservado, mais estabilidade)
  • Sistema Operacional: Distribuição Linux amd64 com versão de kernel 3.10 ou posterior (recomendado Fedora)

Instalando o ONLYOFFICE Docs

Você precisa ter a versão mais recente do Podman instalada no servidor host. Caso ainda não a possua, consulte a seção de Instalação na documentação oficial do Podman.
Executando o ONLYOFFICE Docs com Podman como usuário root

Primeiro, crie novas pastas físicas para armazenar e persistir os logs, bancos de dados e volumes de configuração do contêiner na sua máquina host:

sudo mkdir -p /app/onlyoffice/DocumentServer/logs \
 /app/onlyoffice/DocumentServer/data \
 /app/onlyoffice/DocumentServer/lib \
 /app/onlyoffice/DocumentServer/db

Em seguida, mapeie esses diretórios criados e execute a imagem base do ONLYOFFICE Docs usando o seguinte comando do Podman:

sudo podman run -i -t -d -p 80:80 -p 443:443 --restart=always \
 -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice:Z \
 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data:Z \
 -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice:Z \
 -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql:Z \
 -u root onlyoffice/documentserver-de:latest
Aviso Estrutural: Diferente de outras aplicações, a implantação rootless (sem privilégios de root) NÃO é recomendada e pode gerar instabilidade na arquitetura do ONLYOFFICE Docs operando sob Podman.

Para verificar se o contêiner do ONLYOFFICE Docs subiu e está funcionando corretamente na infraestrutura, execute o seguinte gatilho de teste integrado:

sudo podman exec $(sudo podman ps -q) sudo supervisorctl start ds:example

Abra o navegador web do servidor, acesse a rota http://localhost/welcome e clique no botão GO TO TEST EXAMPLE. Você será direcionado para uma página isolada onde poderá testar os editores criando documentos preenchidos com conteúdos falsos de exemplo.


Mudando o ONLYOFFICE Docs para HTTPS

Para prover a segurança das conexões com a sua aplicação web, instale os certificados SSL privados (onlyoffice.key e onlyoffice.crt) em seu servidor físico e injete-os reiniciando o contêiner do ONLYOFFICE Docs:

sudo mkdir -p /app/onlyoffice/DocumentServer/data/certs
sudo cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
sudo cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
sudo chown -R 100108:100111 /app/onlyoffice/DocumentServer/data/certs/
sudo podman restart {container_id}
Dica sobre permissões: Ao injetar e copiar certificados de fora para dentro do contêiner montado, você deve forçar o comando usando sudo. Logo após a inserção física, é vital aplicar a atribuição chown de proprietário sobre esses arquivos para o escopo de subuid 100108:100111 (que é a identidade de autorização interna do processo "ds" dentro da imagem).

Construindo a imagem a partir do repositório (Podman Build)

Se a infraestrutura da sua empresa exige uma imagem compilada in-house, você pode clonar o repositório público do ONLYOFFICE Docs, acessar a pasta de manifesto e construir a imagem localmente como superusuário:

git clone https://github.com/ONLYOFFICE/Docker-DocumentServer.git
cd Docker-DocumentServer/
sudo podman build --tag onlyofficeds:podman -f ./Dockerfile

Construindo a imagem com o utilitário Buildah

Alternativamente ao construtor nativo do Podman, você pode usar o utilitário standalone Buildah. Execute o seguinte comando:

sudo buildah bud --tag onlyofficeds:buildah -f ./Dockerfile
Atenção: Por design, o utilitário Buildah suporta a construção de contêineres OCI sem permissões amplas no sistema, mas a compilação cruzada do Dockerfile oficial do ONLYOFFICE Docs utilizando o Buildah funciona adequadamente apenas se for invocado via root (sudo).

Executando o contêiner gerado pelo Buildah

Após construir com sucesso a imagem OCI customizada usando o Buildah, execute e inicie a instância do servidor apontando para o seu repositório taggado em `localhost`:

sudo podman run -i -t -d -p 8003:80 -p 4430:443 --restart=always \
 -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice:Z \
 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data:Z \
 -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice:Z \
 -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql:Z \
 localhost/onlyofficeds:buildah

Registrando a sua licença Developer Edition

Se você assinou a chave da API corporativa e possui o pacote Developer Edition em mãos, insira o seu arquivo license.lic para remover as amarras de edição e registrar o servidor.

Ao trabalhar com instâncias gerenciadas pelo Podman, o arquivo de chaves de assinatura license.lic pode ser alocado na pasta de mapeamento de dados recém-criada (por exemplo: /app/onlyoffice/DocumentServer/data/license.lic). Essa pasta, por design, será lida e injetada na hierarquia correta quando você acionar o container na primeira run:

sudo podman run -i -t -d -p 80:80 -p 443:443 --restart=always \
 -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice:Z \
 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data:Z \
 -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice:Z \
 -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql:Z \
 -u root onlyoffice/documentserver-de:latest

Depois disso, o sistema de validação auditará a chave durante o carregamento de boot, transformando a instância nativamente numa instalação completa e registrada do Developer Edition.

Artigo com o tag:
Veja todas as etiquetas