Obrigado pelas etapas detalhadas, eu só precisei fazer algo semelhante, mudando para um novo host.
Como o site estava funcionando, não quis passar pelos backups, então segui as etapas aqui.
Quase funcionou, mas a reconstrução no novo host falhou.
Acontece que o mapeamento UID/GID não era totalmente o mesmo nos dois hosts, então ao iniciar o Postgres falharia devido à propriedade incorreta da pasta de dados.
Isso pode acontecer em outras instâncias também, mas felizmente existe uma solução.
Há um detalhe extra para o cenário neste post, que é que o contêiner não é construído, então ./launcher enter app não funciona nesta fase. Como a reconstrução demoraria bastante, pude usar docker ps para obter o nome do contêiner que estava fazendo a construção e, em seguida, entrar no contêiner:
docker exec -it <container_name> bash
chown -R postgres:postgres /shared/postgres_*
A reconstrução falha então (ou você não pode parar com CTRL+C). Depois que ela para, basta executá-la novamente, e as permissões são corrigidas:
./launcher rebuild app
E está funcionando novamente
.