Salta el contingut

Configuració inicial de n8n

Variables d'entorn principals

n8n es configura principalment a traves de variables d'entorn. Aquí tens les més importants:

Configuració bàsica

Variable Descripció Exemple
N8N_HOST Nom del host on escolta n8n localhost o n8n.example.com
N8N_PORT Port on escolta n8n 5678
N8N_PROTOCOL Protocol (http o https) http
WEBHOOK_URL URL base per als webhooks https://n8n.example.com/
GENERIC_TIMEZONE Zona horària per als schedules Europe/Madrid

Seguretat

Variable Descripció Exemple
N8N_ENCRYPTION_KEY Clau per xifrar credencials (32 chars) clauAleatoria32Caràcters
N8N_BASIC_AUTH_ACTIVE Activar autenticació bàsica true
N8N_BASIC_AUTH_USER Usuari per a auth bàsica admin
N8N_BASIC_AUTH_PASSWORD Contrasenya per a auth bàsica contrasenya-segura

Base de dades

Per defecte, n8n usa SQLite. Per a producció, és recomanable usar PostgreSQL:

Variable Descripció
DB_TYPE Tipus de BD: sqlite o postgresdb
DB_POSTGRESDB_HOST Host de PostgreSQL
DB_POSTGRESDB_PORT Port de PostgreSQL (5432)
DB_POSTGRESDB_DATABASE Nom de la BD
DB_POSTGRESDB_USER Usuari de la BD
DB_POSTGRESDB_PASSWORD Contrasenya de la BD

Exemple complet de docker-compose per a producció

version: '3.8'

services:
  postgres:
    image: postgres:16-alpine
    container_name: n8n-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: n8n_password_segura
      POSTGRES_DB: n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.example.com/
      - GENERIC_TIMEZONE=Europe/Madrid
      - N8N_ENCRYPTION_KEY=la-teva-clau-de-32-caracters-aqui
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n_password_segura
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy

volumes:
  postgres_data:
  n8n_data:

Gestió de credencials

Les credencials són la manera segura de guardar les claus d'accés als serveis externs que usa n8n.

Crear una credencial

  1. Ves a SettingsCredentials
  2. Fes clic a + Add Credential
  3. Cerca el tipus de credencial (Gmail, Slack, HTTP...)
  4. Omple els camps necessaris
  5. Fes clic a Save

Noms descriptius

Posa noms descriptius a les credencials que incloguin l'entorn: Gmail producció, Slack equip-dev, API externa test.

Tipus de credencials comunes

Servei Tipus de credencial
Gmail OAuth2 (Google)
Google Sheets OAuth2 (Google)
Slack OAuth2 (Slack)
GitHub API Key o OAuth2
OpenAI API Key
HTTP Request genèric API Key, Bàsic Auth, Bearer Token, OAuth2

Compartir credencials

Les credencials es poden compartir entre usuaris de la mateixa instancia de n8n:

  1. Edita la credencial
  2. Pestanya Sharing
  3. Afegeix els usuaris que hi han de tenir acces

Principi de mínims privilegis

No comparteixes totes les credencials amb tots els usuaris. Cada usuari hauria de tenir accés només a les credencials que necessita per al seu treball.

Usuaris i permisos

n8n suporta multiples usuaris amb rols diferènciats:

Rol Capacitats
Owner Accés total, gestió d'usuaris, configuració global
Admin Gestió de workflows i credencials, creació d'usuaris
Member Crear i executar workflows, accés a credencials compartides

Convidar nous usuaris

  1. Ves a SettingsUsers
  2. Fes clic a Invite users
  3. Introdueix el correu electrònic
  4. Selecciona el rol
  5. L'usuari rebrà un correu d'invitació

Miniactivitat ACN8N6

Configura una credencial de tipus HTTP Header Auth amb nom API Test i un valor fictici. Comprova que la credencial apareix a la llista de credencials i que pots editar-la.