Histórico: por que o acesso público é necessário n8n
O n8n é uma poderosa ferramenta de automação de fluxo de trabalho de código aberto que permite aos usuários conectar diferentes aplicativos e serviços para criar processos automatizados. No entanto, muitos dos nós de aplicativos da n8n (especialmente os que envolvem autorização de serviços de terceiros) precisam ser configurados com um URL de redirecionamento OAuth durante o uso.
Esse requisito significa que as instâncias da n8n devem ser acessíveis pela Internet pública. Além disso, alguns nós, como os que se conectam aos serviços do Google ou à plataforma Twitter/X, também podem exigir o uso de domínios públicos de nível superior, bem como conexões criptografadas por HTTPS.
Se o n8n for implantado somente em uma rede local que não permita o acesso ao domínio HTTPS público, esses recursos do nó que dependem de autenticação externa ou retornos de chamada não estarão disponíveis. Isso certamente limita o potencial total do n8n e reduz sua funcionalidade.
As soluções tradicionais geralmente envolvem o aluguel de um servidor em nuvem (VPS), a compra de um nome de domínio, a configuração da resolução de DNS e a solicitação e implementação de certificados SSL. Além de todo o processo exigir muitas etapas, ele também pode acarretar custos contínuos.
Solução: Free Deployment com Hugging Face e Supabase
Felizmente, existe uma maneira gratuita e relativamente rápida de implantar uma instância do serviço de nuvem n8n que ofereça suporte a HTTPS e domínios públicos em um curto período de tempo (cerca de 10 minutos). Este artigo descreve como isso pode ser feito usando uma combinação de Hugging Face Spaces e Supabase.
Essa solução combinada aproveita o Hugging Face Spaces para fornecer um ambiente gratuito de hospedagem de contêineres (com URLs públicos e HTTPS automático) e o Supabase para fornecer um banco de dados PostgreSQL gratuito para armazenar persistentemente os dados do fluxo de trabalho do n8n.
Observação: Pode ser necessário ter acesso internacional à Internet para executar as etapas a seguir.
Etapa 1: Configurar o banco de dados do Supabase
O Supabase é uma alternativa de código aberto ao Firebase que fornece serviços de back-end, como banco de dados, autenticação e armazenamento. Embora tenha planos pagos, seu pacote gratuito oferece recursos suficientes para atender às necessidades básicas de armazenamento de dados da n8n.
O pacote gratuito inclui espaço e recursos suficientes para o banco de dados (conforme mostrado abaixo).
- Visite o site oficial do Supabase: https://supabase.com/
- Clique em "Sign in" para se registrar ou fazer login.
- Após o registro bem-sucedido, você será orientado a criar uma organização. Mantenha o Plano como Livre e clique em "Criar organização".
- Em seguida, crie um projeto. Defina um nome para o projeto, defina uma senha segura para o banco de dados (recomenda-se o uso de senhas fortes para evitar problemas que podem ser causados por caracteres especiais) e selecione uma região, por exemplo, US West. Clique em "Create new project" (Criar novo projeto).
- Depois que o projeto for criado, vá para o painel do projeto. Clique no botão "Connect" (Conectar) na parte superior ou localize "Project Settings" (Configurações do projeto) -> "Database" (Banco de dados) na barra de navegação à esquerda.
- Na página Database Connection Information (Informações de conexão com o banco de dados), localize a seção Connection String (Cadeia de conexão). Se você vir um local para selecionar Tipo, poderá selecionar "SQLAlchemy" (embora, na verdade, precisemos dos parâmetros de conexão abaixo).
- Role a página para baixo para encontrar os parâmetros de conexão detalhados para o banco de dados (host, nome do banco de dados, porta, nome de usuário, senha etc.). Essas informações serão usadas posteriormente no Hugging Face. Mantenha-as em segurança, especialmente a senha.
Etapa 2: Implantar o n8n no Hugging Face Spaces
A Hugging Face (geralmente chamada de "Hugging Face") é uma conhecida plataforma comunitária de IA e aprendizado de máquina cujo recurso Spaces permite que os usuários hospedem aplicativos da Web e contêineres do Docker.
- Acesse o modelo pré-configurado do n8n Hugging Face Space: https://huggingface.co/spaces/fuliai/ain8n
- Clique nos três pontos no canto superior direito da página e selecione "Duplicate this space" (Duplicar este espaço).
- Vá para a página de configuração do espaço de réplica. Aqui, você precisa preencher as informações de conexão do banco de dados que acabou de obter do Supabase na variável de ambiente correspondente:
DB_TYPE
: Definido comopostgresdb
DB_POSTGRESDB_HOST
Preencha o Host fornecido pelo Supabase.DB_POSTGRESDB_PORT
Porta: Preencha a porta fornecida pelo Supabase (geralmente 5432).DB_POSTGRESDB_DATABASE
Preencha o nome do banco de dados fornecido pelo Supabase (geralmentepostgres
).DB_POSTGRESDB_USER
Preencha o usuário fornecido pelo Supabase (geralmentepostgres
).DB_POSTGRESDB_PASSWORD
Preencha a senha do banco de dados do Supabase que você definiu anteriormente.DB_POSTGRESDB_SCHEMA
Você pode manter o padrãopublic
.N8N_HOST
: É gerado automaticamente aqui, geralmente no formato你的用户名-你的空间名.hf.space
. Certifique-se de que esse nome de domínio seja o mesmo que o seguinteWEBHOOK_URL
Os prefixos são consistentes.WEBHOOK_URL
Verifique se seu valor éhttps://
Além dissoN8N_HOST
(por exemplo.https://yourname-ain8n.hf.space/
).GENERIC_TIMEZONE
Fuso horário: Defina o fuso horário conforme necessário, por exemplo.Asia/Shanghai
.EXECUTIONS_DATA_PRUNE
: Definido comotrue
O registro de execução pode ser limpo automaticamente para economizar espaço no banco de dados.EXECUTIONS_DATA_MAX_AGE
Se a limpeza estiver ativada, defina o número de dias para reter os registros, por exemplo14
.
Selecione a visibilidade do espaço como
Public
(acesso público). Posteriormente, a própria instância do n8n definirá a senha do administrador, portanto, não há necessidade de se preocupar com o acesso não autorizado.Importante: verifique cuidadosamente
N8N_HOST
responder cantandoWEBHOOK_URL
A parte do nome de domínio do Hugging Face deve ser consistente com o URL do espaço atribuído a você pelo Hugging Face. - Quando a configuração estiver concluída, clique no botão "Duplicate space" (Duplicar espaço) no canto inferior esquerdo.
- O Hugging Face Spaces começará a criar e implantar contêineres do Docker automaticamente em segundo plano.
- Aguarde a conclusão da implementação. A implementação pode ser feita na seção
Logs
para visualizar o registro da implementação. Quando vir uma mensagem de registro como a da caixa vermelha abaixo, especialmente a mensagem sobre a inicialização bem-sucedida do n8n, isso significa que a implantação foi bem-sucedida (geralmente concluída em 5 minutos). O registro geralmente mostra o número da versão do n8n. - Copie o endereço de acesso n8n fornecido no registro (geralmente o
https://yourname-ain8n.hf.space/
), abra-o em seu navegador.
Etapa 3: Inicializar as configurações do n8n
- Na primeira vez que você acessar um endereço n8n implantado, o sistema solicitará a configuração de uma conta de administrador. Crie um nome de usuário e uma senha seguros.
- Siga as etapas guiadas para concluir a configuração. Pode haver uma etapa perguntando se você deseja obter uma chave de licença gratuita; clique em "Send me a free license key" (Envie-me uma chave de licença gratuita) ou algo semelhante. Isso geralmente é feito para receber notificações de atualizações ou para ativar os recursos do Community Edition.
- Depois de concluir todas as configurações, você pode acessar a interface principal do n8n e começar a criar e gerenciar fluxos de trabalho.
Essa instância n8n pode ser encontrada e gerenciada clicando no avatar do usuário no canto superior direito da página do Hugging Face -> selecione Spaces sob seu nome de usuário.
Por que Hugging Face + Supabase?
O principal motivo para escolher essa opção foi aproveitar os recursos gratuitos disponíveis em ambas as plataformas:
- Espaços para abraçar o rostoSpace: fornece um ambiente de tempo de execução de contêiner gratuito, um nome de domínio HTTPS público atribuído automaticamente e resolve o problema de acesso à rede pública e conexões seguras. No entanto, uma limitação de seu serviço gratuito é que o Space pode ser hibernado pelo sistema se ficar inativo por um longo período de tempo. Após a hibernação ou reinicialização, os dados locais dentro do contêiner são perdidos (já que os contêineres do Docker são inerentemente sem estado).
- SupabaseBanco de dados: É fornecido um banco de dados PostgreSQL gratuito. Ao configurar o n8n para usar um banco de dados externo do Supabase, todos os dados de fluxo de trabalho, credenciais e execução são armazenados no banco de dados, não no contêiner. Dessa forma, mesmo que o Hugging Face Space seja hibernado ou reiniciado, o n8n se reconectará ao banco de dados Supabase quando for iniciado, restaurando todos os dados e resolvendo problemas de persistência de dados.
No entanto, ainda é recomendável exportar fluxos de trabalho importantes como arquivos JSON e fazer backup deles localmente com regularidade, caso algo inesperado aconteça.
O n8n é poderoso por si só e, embora possa levar algum tempo para se familiarizar com ele, você poderá criar processos automatizados complexos e úteis depois de dominá-lo. Ele também suporta a exportação de resultados para formatos comuns, como Word e Excel, o que é muito conveniente.