Oi @rgrzesk Bem-vindo!
Seu plano global:admin não funcionará — o assistente de configuração é controlado pela chave settings userManagement.isInstanceOwnerSetUp = true, não por se existe uma linha global:owner, então degradar o proprietário deixa você sem proprietário e ainda sem /setup. (global:admin também é uma função licenciada para Enterprise.)
Como você está no Postgres, apenas sobrescreva o hash bcrypt desse usuário. Uma coluna, nada mais tocado, sem redeploy:
1. Gere o hash (n8n usa bcryptjs, custo 10):
docker run --rm node:20-alpine sh -c \
"npm i bcryptjs --silent --prefix /tmp >/dev/null 2>&1 && \
node -e \"console.log(require('/tmp/node_modules/bcryptjs').hashSync('YourNewPass1',10))\""
Use uma senha que atenda às regras do n8n (8–64 caracteres, 1 número, 1 maiúscula) ou você não conseguirá alterá-la na interface depois.
2. Conecte e atualize:
UPDATE "user"
SET password = '$2b$10$...seu hash...'
WHERE email = 'owner@seudominio.com';
Duas coisas que confundem as pessoas: user é uma palavra reservada no Postgres e deve estar entre aspas duplas, e o hash deve estar entre aspas simples no seu shell ou o bash expandirá $2b/$10 e escreverá lixo.
Se essa conta tinha MFA ativada, também SET "mfaEnabled" = false, "mfaSecret" = NULL, "mfaRecoveryCodes" = NULL.
3. Faça login em uma janela anônima — n8n deriva parte do JWT de autenticação do hash de senha, então sessões antigas são invalidadas e um cookie obsoleto o rejeitará. Nenhuma reinicialização de container necessária.
Evite n8n user-management:reset aqui: você não pode fazer docker exec no Cloud Run, e apaga todas as contas de usuário e retorna a instância ao assistente de configuração. Vale a pena adicionar variáveis de ambiente SMTP em seus serviços Cloud Run depois para isso não se repetir em toda a frota.