Atualização do Nextcloud
Confira se tem o bash_alias no ambiente para o occ:
Crie um alias para o comando occ editando o arquivo
~/.bash_aliase colocando o seguinte conteúdo:alias occ='docker compose exec -u www-data app php occ'
Confira se tem algum PR pendente para ser aceito e mergeado na branch main do repo https://github.com/LibreCodeCoop/nextcloud-docker/pulls
Notificar usuários sobre a janela de manutenção
Aviso
Encerre as conexões dos usuários com o Onlyoffice gentilmente para não haver perda de dados (lembre-se de reativá-lo após a atualização)
docker exec CONTAINER-ONLYOFFICE documentserver-prepare4shutdown.sh
Faça uma lista dos apps ativos e salve em um arquivo:
occ app:list > app_list.old
Aviso
NUNCA pule versão major ao atualizar o Nextcloud. Sempre vá de uma em uma, exemplo: 24 para 25, 25 para 25 e 26 para 27 repetindo todas as etapas deste passo a passo a cada atualização.
Alterar a versão do Nextcloud no arquivo
.docker/app/Dockerfile. Exemplo:nextcloud:31-fpmFazer build do Nextcloud:
docker compose build --pull
Se tiver problemas com o cache, pode especificar a versão a ser buildada:
docker compose build --build-arg NEXTCLOUD_VERSION=31-fpm --pull --no-cache
Entrar no modo de manutenção:
occ maintenance:mode --on
Confira a versão atual do Nextcloud:
occ --versionVerificar versão do docker compose, pois pode estar diferente do que está sendo executado
Levantar o Nextcloud e acompanhar o log até o fim da atualização:
docker compose up -d docker compose logs -f --tail=100 app
Você deverá ver ao final:
Initializing finished
É preciso rodar mais algumas rotinas de atualização:
occ db:add-missing-columns; \ occ db:add-missing-indices; \ occ db:add-missing-primary-keys; \ occ maintenance:repair --include-expensive
Atualize os apps:
occ app:update --all
Faça uma lista dos apps ativos e compare para saber se tem algum app que precisa ativar manualmente na versão mais nova:
occ app:list > app_list.new diff app_list.old app_list.new
Se update entre versões MINOR (31.0.6 para 31.0.7 por exemplo), rodar comando upgrade sairá do modo de manutenção:
occ upgradeSe atualização MAJOR (30 para 31): Rodar o upgrade e tirar do modo de manutenção.
occ upgrade occ maintenance:mode --off
Acessar o Nextcloud para ver se está tudo funcionando bem:
Vá em
Administration > Overviewe veja se tem alguma ação a ser executada, precisa deixar tudo verde.Se tiver o Onlyofice na instância, vá em
Administration > Onlyofficee clique em nos três botões de salvar para se certificar que está correto.Se tiver o LibreSign na instância, vá em
Administration > LibreSigne confira se está tudo verde.
Limpar o ambiente:
docker system prune
Notificar fim da manutenção aos usuários caso necessário
Possíveis problemas após a atualização
ERROR: permission denied for schema publicSolução:
GRANT CREATE ON SCHEMA public TO <username>