Faça backup e restaure sua instância
Não existe backup automático dentro do KolleK. Proteger os dados é tarefa do operador, e esta página é o procedimento. Hoje ela também é a resposta real para "como eu exporto tudo", como Faça backup dos dados da sua coleção explica do lado do colecionador.
O que é um backup completo
Três coisas, e todas as três importam:
- O banco de dados, no volume
db-data. Todo registro: contas, coleções, itens, exemplares, histórico. - O volume de armazenamento,
storage-data. Toda foto e documento enviados. - A chave da aplicação,
APP_KEYdo seu.env(maisAPP_PREVIOUS_KEYS, se definida).
Um backup sem a chave da aplicação correspondente não é um backup. Campos criptografados são restaurados como texto cifrado ilegível sem a chave que os gravou. Guarde a chave junto, ou ao lado, de cada backup que você fizer. Veja A chave da aplicação e a criptografia.
Fazer backup
Faça o dump do banco de dados:
docker compose exec mysql mysqldump -u root -p"$DB_ROOT_PASSWORD" "$DB_DATABASE" > kollek-backup.sql
Arquive o volume de armazenamento:
docker run --rm -v kollek_storage-data:/data -v "$PWD":/backup alpine tar czf /backup/kollek-storage.tar.gz -C /data .
Copie os dois arquivos, e uma cópia do seu .env, para fora do servidor. Automatize isso com um cron job noturno e mantenha mais de uma geração; um backup do qual você nunca restaurou é uma esperança, não um plano.
Restaurar
Em uma máquina nova, restaure nesta ordem:
- Instale a mesma versão do KolleK seguindo Instalar com Docker, mas defina
APP_KEY(eAPP_PREVIOUS_KEYS) a partir do seu backup, em vez de gerar uma chave nova. - Inicie a stack uma vez para que os volumes existam, depois carregue o dump do banco de dados:
docker compose exec -T mysql mysql -u root -p"$DB_ROOT_PASSWORD" "$DB_DATABASE" < kollek-backup.sql
- Descompacte o arquivo de armazenamento no volume de armazenamento:
docker run --rm -v kollek_storage-data:/data -v "$PWD":/backup alpine tar xzf /backup/kollek-storage.tar.gz -C /data
- Reinicie a stack com
docker compose up -de acesse para verificar.
O comando que apaga tudo
docker compose down -v remove os volumes nomeados, ou seja, o banco de dados e todo arquivo enviado. Nunca use a flag -v em uma instância em produção. O docker compose down simples é seguro e mantém os volumes intactos.
Para onde ir depois
- Entenda o que a chave protege em A chave da aplicação e a criptografia.
- Veja o que os colecionadores conseguem exportar de dentro do aplicativo em Faça backup dos dados da sua coleção.