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
- Ves a Settings → Credentials
- Fes clic a + Add Credential
- Cerca el tipus de credencial (Gmail, Slack, HTTP...)
- Omple els camps necessaris
- 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:
- Edita la credencial
- Pestanya Sharing
- 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
- Ves a Settings → Users
- Fes clic a Invite users
- Introdueix el correu electrònic
- Selecciona el rol
- 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.