N8N first run script
Run Tests on Branches / Frontend Mobile Tests (push) Has been skipped
Run Tests on Branches / Parapharmacy API Tests (push) Has been skipped
Run Tests on Branches / Detect Changes (push) Successful in 13s
Run Tests on Branches / Backend Tests (push) Has been skipped
Run Tests on Branches / Frontend Tests (push) Has been skipped
Run Tests on Branches / PIP Platform Tests (push) Has been skipped

This commit is contained in:
Antoni Nuñez Romeu
2026-07-17 11:28:14 +02:00
parent 418694cb08
commit cc77783b7d
3 changed files with 62 additions and 7 deletions
+24
View File
@@ -140,12 +140,36 @@ services:
N8N_PROTOCOL: http N8N_PROTOCOL: http
# Webhook URL for external calls # Webhook URL for external calls
WEBHOOK_URL: http://localhost:5678/ WEBHOOK_URL: http://localhost:5678/
healthcheck:
test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5678/healthz"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
volumes: volumes:
- n8n_data:/home/node/.n8n - n8n_data:/home/node/.n8n
- ./n8n/workflows:/home/node/workflows - ./n8n/workflows:/home/node/workflows
depends_on: depends_on:
- postgres - postgres
# --- N8N Init: import workflows on first deploy ---
n8n-init:
image: n8nio/n8n:latest
entrypoint: ["/bin/sh", "/home/node/init-import.sh"]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: farmafinder
DB_POSTGRESDB_USER: farmafinder
DB_POSTGRESDB_PASSWORD: ${PG_PASSWORD:-change-me-in-production}
volumes:
- n8n_data:/home/node/.n8n
- ./n8n/workflows:/home/node/workflows
- ./n8n/init-import.sh:/home/node/init-import.sh:ro
depends_on:
n8n:
condition: service_healthy
volumes: volumes:
backend_data: backend_data:
postgres_data: postgres_data:
+16 -7
View File
@@ -11,27 +11,36 @@
### 1. Cuenta de Administrador ### 1. Cuenta de Administrador
Al iniciar N8N por primera vez, se crea automáticamente: Al iniciar N8N por primera vez, se crea automáticamente con las variables de entorno:
| Campo | Valor | | Campo | Valor (por defecto) |
|-------|-------| |-------|-------|
| **Email** | admin@farmafinder.com | | **Email** | admin@farmafinder.com |
| **Password** | change-me | | **Password** | change-me |
> **IMPORTANTE**: Cambia la contraseña después del primer login en http://localhost:5678/settings > **IMPORTANTE**: Cambia la contraseña después del primer login.
### 2. Variables de Entorno ### 2. Variables de Entorno
```bash ```bash
# En .env # En .env (o en docker-compose.yml)
N8N_USER=admin
N8N_PASSWORD=change-me
N8N_EMAIL=admin@farmafinder.com N8N_EMAIL=admin@farmafinder.com
N8N_PASSWORD=change-me
``` ```
### 3. Importar Workflows ### 3. Importar Workflows
Los workflows se importan automáticamente al iniciar el contenedor. Para importar manualmente: **Deploy automático (recomendado):**
El servicio `n8n-init` en docker-compose.yml ejecuta `n8n import:workflow` automáticamente después del primer arranque. Usa un flag file (`.workflows-imported`) para no re-importar en deploys siguientes.
**Importar manualmente:**
```bash
docker compose exec n8n n8n import:workflow --separate --input=/home/node/workflows/
```
O desde la UI:
1. Ir a http://localhost:5678/workflows 1. Ir a http://localhost:5678/workflows
2. Hacer clic en "Import from File" 2. Hacer clic en "Import from File"
+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh
# One-shot init: import workflows into n8n on first deploy.
# Skips if already imported (flag file in shared volume).
set -e
FLAG="/home/node/.n8n/.workflows-imported"
if [ -f "$FLAG" ]; then
echo "[n8n-init] Workflows already imported, skipping."
exit 0
fi
echo "[n8n-init] Waiting for n8n to be ready..."
until wget -qO /dev/null http://n8n:5678/healthz 2>/dev/null; do
sleep 2
done
echo "[n8n-init] Importing workflows from /home/node/workflows/..."
n8n import:workflow --separate --input=/home/node/workflows/
touch "$FLAG"
echo "[n8n-init] Import complete."