OffshoreVps
Tutoriais4 out. 20267 min de leituraPor a equipe da OffshoreVps

Implante o n8n e agentes de IA com Docker Compose em um VPS

Hospede o n8n por conta própria com Postgres e HTTPS, crie um fluxo de agente de IA, proteja os webhooks e faça backup dos dados e da chave de criptografia.

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.

Janela de terminal em um VPS mostrando os comandos usados para implantar o n8n e agentes de IA, começando com “mkdir -p ~/n8n && cd ~/n8n”
O tipo de comandos que você executará no servidor neste guia.

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

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.

Os passos deste guia em ordem: 1. Por que um VPS para agentes?; 2. Antes de começar; 3. segredos; 4. inicie o n8n; 5. crie um fluxo de agente; 6. Mantenha tudo seguro
Os passos deste guia, em ordem.

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

  1. Adicione um gatilho Webhook ou Schedule.
  2. 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.
  3. Dê ao agente ferramentas como requisições HTTP, um banco de dados ou um nó de mensagens.
  4. 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 -d depois de ler as notas de versão.