O n8n é uma ferramenta de fluxos de trabalho que conecta aplicativos, APIs e modelos de IA com um editor visual. Hospedá-lo por conta própria significa que seus fluxos, credenciais e dados ficam em um servidor que você controla, e as execuções não são cobradas por uso. Este guia implanta o n8n com Docker Compose, um banco de dados Postgres e HTTPS, pronto para executar agentes de IA 24 horas por dia.
Por que um VPS para agentes?
Os agentes costumam rodar em horários agendados ou reagir a webhooks, então precisam de um servidor sempre ligado e acessível. Um VPS dá um endereço fixo para webhooks e RAM suficiente para manter os fluxos responsivos. Um plano de 2 vCPU e 4 GB serve para uma configuração pequena. Veja hospedagem de agentes de IA para os tamanhos e adicione um servidor GPU se quiser modelos locais.
Antes de começar
- Um VPS com Docker. Veja como instalar o Docker.
- Um domínio apontando para o servidor. Veja registros DNS.
Passo 1: arquivo Compose
mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: n8n
volumes:
- db:/var/lib/postgresql/data
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
depends_on: [db]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: db
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
N8N_HOST: n8n.example.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.example.com/
N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
GENERIC_TIMEZONE: UTC
ports:
- "127.0.0.1:5678:5678"
volumes:
- n8n:/home/node/.n8n
volumes:
db:
n8n:
YAML
Passo 2: segredos
cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env
Faça backup de ENCRYPTION_KEY. Sem ela, o n8n não consegue descriptografar as credenciais que armazenou.
Passo 3: inicie o n8n
docker compose up -d
docker compose logs -f n8n
Passo 4: HTTPS
n8n.example.com {
reverse_proxy 127.0.0.1:5678
}
Recarregue o Caddy, abra o site e crie a conta de proprietário.
Passo 5: crie um fluxo de agente
- Adicione um gatilho Webhook ou Schedule.
- Adicione um nó AI Agent e conecte um modelo de chat, por exemplo uma API hospedada ou o Ollama no seu próprio servidor GPU.
- Dê ao agente ferramentas como requisições HTTP, um banco de dados ou um nó de mensagens.
- Teste com uma execução manual e depois ative o fluxo.
Mantenha tudo seguro
- Vincule o n8n a 127.0.0.1 e exponha apenas o proxy HTTPS.
- Proteja os webhooks com um cabeçalho secreto ou um caminho, sempre que possível.
- Faça backup do volume do Postgres e do volume do n8n. Veja backups com restic ou borg.
- Atualize com
docker compose pull && docker compose up -ddepois de ler as notas de versão.