Backups, restauração e atualizações
Faça backup do PostgreSQL e teste a restauração antes de atualizar.
O PostgreSQL guarda os dados, arquivos enviados e arquivos de importação. O Compose usa o banco opentoggl, o usuário postgres, o serviço postgres e o volume opentoggl-postgres-data. A persistência do Redis está desativada; não é preciso fazer backup dele.
Faça um backup
Na pasta do docker-compose.yml, execute:
docker compose exec -T postgres pg_dump -U postgres -d opentoggl -Fc > backup.dumpGuarde uma cópia fora do servidor. Salve também docker-compose.yml, .env e a configuração do proxy em um local privado: eles não estão no dump do banco.
Para um backup diário, crie /srv/backups, ajuste os caminhos e adicione esta linha ao crontab de um usuário com acesso ao Docker:
0 2 * * * cd /srv/opentickly && umask 077 && /usr/bin/docker compose exec -T postgres pg_dump -U postgres -d opentoggl -Fc > /srv/backups/opentickly-$(date +\%F).dumpConfira se a tarefa terminou sem erros e teste a restauração regularmente. Um arquivo existir não garante que seja utilizável.
Restaure
Teste primeiro em outra instância. A restauração substitui os objetos do banco incluídos no backup e perde as alterações posteriores. Use a mesma versão do aplicativo da época do backup, com o PostgreSQL em execução:
docker compose stop opentoggl &&
docker compose exec -T postgres pg_restore -U postgres -d opentoggl --clean --if-exists --exit-on-error < backup.dump &&
docker compose up -d opentogglSe pg_restore falhar, mantenha o aplicativo parado até resolver o erro. Depois, entre e confira os registros e arquivos. Não apague o volume do banco.
Atualize ou volte à versão anterior
- Faça um backup e anote a versão ou o digest da imagem atual.
latestmuda e não identifica a versão anterior. - Execute:
docker compose pull && docker compose up -d- O servidor atualiza a estrutura do banco automaticamente ao iniciar. Confira
docker compose logs opentoggl, entre e verifique os dados.
Para voltar, pare opentoggl, fixe a tag ou o digest anterior em docker-compose.yml, baixe essa imagem e restaure o backup feito antes da atualização seguindo os passos acima. Não inicie uma imagem antiga diretamente com o banco já atualizado. As alterações posteriores ao backup serão perdidas.