# 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 ::::steps :::step title="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](https://getkollek.com/pt/docs/auto-hospedagem/backup-e-restauracao). As atualizações são seguras por design, mas um backup transforma "seguro por design" em "seguro, ponto final". ::: :::step title="Obtenha a nova versão" No diretório do repositório, busque a versão para a qual você está atualizando: ```bash git pull ``` ::: :::step title="Reconstrua e reinicie" ```bash 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](https://getkollek.com/pt/docs/auto-hospedagem/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. ```bash 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: ```bash 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](https://getkollek.com/pt/docs/recursos-principais/busque-em-toda-a-sua-conta). :::note 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](https://getkollek.com/pt/docs/auto-hospedagem/chave-da-aplicacao-e-criptografia). ::: ## Para onde ir depois - Mantenha os [backups](https://getkollek.com/pt/docs/auto-hospedagem/backup-e-restauracao) em dia para que toda atualização comece a partir de um deles. - Revise [Jobs de manutenção agendados](https://getkollek.com/pt/docs/auto-hospedagem/jobs-de-manutencao-agendados), que voltam a rodar automaticamente assim que o contêiner do agendador estiver de volta.