Estou executando uma instância n8n auto-hospedada no Docker através do Coolify em uma VM do Google Cloud.
Consigo acessar a página de login do n8n, mas não consigo fazer login. A página “Esqueci minha senha” diz que o email não está configurado, portanto não pode enviar um email de redefinição.
Importante: NÃO quero redefinir o gerenciamento de usuários ou criar uma nova conta se isso remover/substituir o usuário atual. Quero manter a mesma conta existente e preservar todos os workflows, credenciais e dados.
Confirmei que o usuário existente existe no banco de dados SQLite:
adammzannar2009@gmail.com | Adam | Mzannar
Já fiz backup de:
/home/node/.n8n/database.sqlite
/home/node/.n8n/database.sqlite-wal
/home/node/.n8n/database.sqlite-shm
Pergunta:
Qual é a forma mais segura e suportada de alterar/redefinir a senha apenas do usuário existente, sem deletar a conta e sem perder workflows, credenciais ou dados?
Qual é a mensagem de erro (se houver)?
A página Esqueci minha senha diz:
Please contact your admin. n8n isn't set up to send email right now.
Ao tentar métodos manuais, recebi:
Cannot find module 'bcryptjs'
attempt to write a readonly database
sqlite3: not found
Além disso, a rota Coolify/Traefik tinha rótulos de IP antigos obsoletos porque meu IP externo da VM foi alterado. Acessei temporariamente o n8n diretamente através do IP e porta do servidor.
Compartilhe seu workflow
Isso não está relacionado a um workflow específico. É um problema de recuperação de senha/login em auto-hospedagem.
O comando de reset da CLI do n8n fará exatamente isso
Você pode tentar isto?
1. Identifique o Nome do Seu Container
Execute o seguinte comando no terminal da sua VM para encontrar o nome exato do seu container n8n:
docker ps
(Procure pelo container que está rodando a imagem n8n; provavelmente será algo como n8n-nnn ou coolify-yyy).
2. Execute o Comando de Reset
Execute o comando usando o usuário node (o usuário que o n8n roda) para evitar problemas de permissão. Substitua <container_name> pelo nome que você encontrou na etapa 1:
@Adam_Mzannar
se vc puder configurar o smtp no n8n, reiniciar a instância e clicar em resetar a senha, existem grandes chances de funcionar. NÃO USE docker exec -u node -it <container_name> n8n user-management:reset; isso vai fazer o que vc não quer.
Bem-vindo @Adam_Mzannar à nossa comunidade! Sou Jay e sou um criador verificado do n8n.
Você pode atualizar o hash da senha diretamente no banco de dados SQLite sem tocar em nenhum outro dado de usuário. Pare o container do n8n primeiro, depois execute: sqlite3 /path/to/database.sqlite "UPDATE user SET password='$2b$10$NEW_HASH' WHERE email='your@email.com';"Gere o hash bcrypt com custo 10 usando qualquer ferramenta bcrypt (por exemplo, node -e "const b=require('bcryptjs'); console.log(b.hashSync('newpassword', 10))"). Reinicie o container e faça login com a nova senha. Apenas a coluna de senha muda - todos os fluxos de trabalho, credenciais e configurações permanecem intactos.
oi Kjooleng! pela pesquisa que fiz, esse comando faz o reset de tudo, tanto , ele não quer isso: “NÃO quero redefinir o gerenciamento de usuários ou criar uma nova conta se isso remover/substituir o usuário atual”
Oi @kjooleng
de acordo com a documentação, a ação retorna o user management ao estado pré-configuração e remove todas as contas de usuário. Workflows/credenciais podem permanecer no banco mas as contas de usuário são removidas/recriadas
A abordagem mais segura para redefinir a senha de um usuário específico sem afetar outras contas: atualizar diretamente o campo password na tabela user do seu banco de dados. Gere um hash bcrypt da nova senha (use qualquer ferramenta bcrypt ou um script Node.js único: require('bcryptjs').hash('newpassword', 10)), depois execute UPDATE user SET password = '<hash>' WHERE email = 'user@example.com' no SQLite ou Postgres. Isso afeta apenas o campo de senha desse usuário e nada mais - sem exclusão de conta, sem impacto nas credenciais.