Atualizando o ONLYOFFICE Docs Developer Edition no Docker

Introdução

Este guia demonstrará como atualizar a versão Docker do seu ONLYOFFICE Docs Developer Edition para o lançamento (release) estável mais recente.

Política de Atualização: A ONLYOFFICE garante suporte técnico oficial apenas para a versão estável mais recente. Lançamos regularmente novas atualizações que incluem novos recursos essenciais, correções de bugs e patches de segurança. Recomendamos fortemente manter o seu sistema atualizado.

Antes de iniciar a atualização, certifique-se de que a sua engine do Docker corresponda aos requisitos do sistema (qualquer versão suportada oficialmente pela equipe do Docker).


Desligando o ONLYOFFICE Docs com segurança

Devido à sua arquitetura colaborativa avançada, o ONLYOFFICE Docs consolida e salva um documento no disco apenas depois que ele é fechado por todos os usuários que o estavam editando. Para evitar qualquer perda de dados em trânsito, você deve desconectar forçadamente os usuários e preparar o serviço antes de interromper o contêiner para a atualização.

Para fazer isso, execute o seguinte script de preparação no seu host:

sudo docker exec {{DOCUMENT_SERVER_ID}} documentserver-prepare4shutdown.sh

Nota: Substitua {{DOCUMENT_SERVER_ID}} pelo nome ou ID real do seu contêiner do ONLYOFFICE Docs.

Se você não sabe o ID do contêiner ativo, pode listá-lo usando o comando padrão do Docker:

sudo docker ps -a
A execução do script de desligamento e a desconexão suave de todos os usuários ativos pode levar algum tempo (até 5 minutos). Aguarde pacientemente a conclusão do processo.

Atualizando o ONLYOFFICE Docs no Docker

Método 1: Atualizando via script automático

Se a sua versão atual do ONLYOFFICE Docs foi instalada utilizando o script automático fornecido, você pode atualizá-la executando o comando original acrescido da flag de update (-u true):

bash docs-developer-install.sh -u true

Digite Y e pressione Enter quando solicitado para confirmar a atualização via Docker.

Aviso: A versão Docker será atualizada via script automático apenas se a instalação original e anterior também tiver sido provisionada usando este mesmo método.
Método 2: Atualização manual (Passo a passo)

Passo 1: Fazer backup dos mapeamentos de volume.
Antes de apagar o contêiner antigo, você precisa saber exatamente quais pastas do seu servidor físico estão armazenando e persistindo os dados. Descubra os caminhos dos volumes montados executando o inspetor:

sudo docker inspect --format='{{range $p,$conf:=.HostConfig.Binds}}{{$conf}};{{end}}' {{DOCUMENT_SERVER_ID}}

Guarde o resultado e os caminhos devolvidos por esse comando; você precisará recriar essas exatas rotas de montagem no Passo 4.

Passo 2: Parar o contêiner atual.
Após o script de shutdown (executado na seção anterior) ter sido concluído com sucesso, pare a execução do contêiner:

sudo docker stop {{DOCUMENT_SERVER_ID}}

Passo 3: Baixar a nova imagem do ONLYOFFICE.
Puxe a imagem mais recente direto do repositório oficial especificando a tag latest:

sudo docker pull onlyoffice/documentserver-de:latest

Passo 4: Executar o novo contêiner.
Inicialize a nova imagem garantindo que os mapeamentos de volume (argumentos -v) sejam exatamente os mesmos descobertos no Passo 1. Se você errar o mapeamento de pastas, o novo contêiner subirá em branco e não encontrará os dados antigos.

sudo docker run -i -t -d -p 80:80 --restart=always \
 -v /pasta_hospedeiro_logs:/var/log/onlyoffice \
 -v /pasta_hospedeiro_data:/var/www/onlyoffice/Data \
 -v /pasta_hospedeiro_lib:/var/lib/onlyoffice \
 -v /pasta_hospedeiro_db:/var/lib/postgresql \
 -e JWT_SECRET=seu_segredo_jwt_aqui \
 onlyoffice/documentserver-de:latest

Lembrete: Se você utilizava conexões seguras HTTPS ou portas personalizadas na versão anterior, certifique-se de recriar o comando de execução com esses mesmos argumentos vitais, consultando as instruções de instalação originais, se necessário.

Passo 5 (Opcional): Limpeza do ambiente.
Assim que o novo contêiner estiver online e você tiver testado e verificado que tudo funciona perfeitamente, você pode excluir o contêiner antigo inativo para liberar espaço físico no disco:

sudo docker rm {{ID_DO_CONTEINER_ANTIGO}}

Para remover também a imagem Docker desatualizada da máquina, liste-as e apague pelo ID da imagem correspondente:

sudo docker images -a
sudo docker rmi {{ID_DA_IMAGEM_ANTIGA}}
Atualização de Esquema de BD (Para atualizações de versões anteriores à v6.3): O esquema do banco de dados mudou arquiteturalmente na versão 6.3. Se você estiver usando um banco de dados externo e estiver atualizando de uma versão muito antiga, você deve atualizar o esquema manualmente para garantir a funcionalidade do recurso de proteção por senha em documentos.

1. Baixe o script de atualização correspondente ao seu serviço: Upgrade script para PostgreSQL ou Upgrade script para MySQL.
2. Execute o script baixado usando a interface de linha de comando do seu banco:
- PostgreSQL: psql -U onlyoffice -W onlyoffice < caminho_para_o/upgradev630.sql
- MySQL: mysql -u root -p onlyoffice < caminho_para_o/upgradev630.sql
(Especifique a senha utilizada ao criar o banco de dados "onlyoffice" quando solicitado).
Artigo com o tag:
Veja todas as etiquetas