Atualize sua instância

Atualizar o KolleK foi pensado para ser algo sem graça: buscar a versão mais nova, reconstruir, pronto. Esta página explica por que isso é seguro, e a única etapa pós-atualização que você precisa conhecer.

Por que atualizações não perdem dados

Duas características tornam o caminho de atualização seguro:

  • Seus dados vivem em volumes nomeados (db-data para o banco de dados, storage-data para arquivos), independentes dos contêineres e da imagem. Reconstruir contêineres não os afeta.
  • As migrações são apenas para frente. O contêiner web aplica as migrações pendentes do banco de dados na inicialização com migrate --force, e o KolleK nunca distribui uma migração que redefine ou reescreve dados de forma destrutiva. Uma atualização só adiciona ao seu esquema.

Atualizar

1
Faça backup primeiro

Faça um dump do banco de dados e um arquivo do armazenamento, conforme descrito em Faça backup e restaure sua instância. As atualizações são seguras por design, mas um backup transforma "seguro por design" em "seguro, ponto final".

2
Obtenha a nova versão

No diretório do repositório, busque a versão para a qual você está atualizando:

git pull
3
Reconstrua e reinicie
docker compose up -d --build

O Compose reconstrói a imagem e recria os contêineres. Na inicialização, o contêiner web aplica automaticamente quaisquer novas migrações, e a instância volta a responder no seu APP_URL.

Se você preferir manter as migrações sob controle manual, defina RUN_MIGRATIONS=false e execute docker compose exec app php artisan migrate --force você mesmo como parte do procedimento, como descrito em Instalar com Docker.

A etapa do índice de busca de fotos

Uma atualização inclui uma tarefa de manutenção pontual: instâncias anteriores à tela da biblioteca de fotos precisam ter seu índice de busca de fotos construído uma vez, ou a busca de fotos fica vazia para fotos já existentes.

docker compose exec app php artisan photos:rebuild-search-index

O comando é idempotente e seguro para rodar em qualquer instância, então, na dúvida, execute-o. Ele também preenche retroativamente as dimensões de imagem para fotos enviadas antes de as dimensões passarem a ser registradas.

A etapa do índice de busca da conta

A busca em toda a conta lê um índice próprio. A migração cria a tabela, mas só o comando de reconstrução a preenche, então numa instância existente a busca não encontra nada até que ele tenha rodado uma vez:

docker compose exec app php artisan search:rebuild-index

Ele percorre cada registro de cada conta, então dê um instante numa instância grande. Dali em diante o índice se mantém em dia sozinho conforme os registros mudam. Veja Busque em toda a sua conta.

Nota

Não altere APP_KEY como parte de uma atualização. A chave sobrevive a todas as versões. Se um guia de atualização em algum momento parecer pedir uma nova chave, você está interpretando errado. Veja A chave da aplicação e a criptografia.

Para onde ir depois

  • Mantenha os backups em dia para que toda atualização comece a partir de um deles.
  • Revise Jobs de manutenção agendados, que voltam a rodar automaticamente assim que o contêiner do agendador estiver de volta.
Documentação de KolleK Editar esta página no GitHub
Esta página foi útil?