Última actividad 5 months ago

Contenedor docker + workers, conectando servicio externo de Postgres, Redis y Ollama

Revisión c8d65f09d5b142d6e71313b09929ec9e3b623513

compose.yml Sin formato
1name: n8n
2
3networks:
4 n8n_network:
5 name: n8n_network
6 driver: bridge
7
8 # n8n_global creada manualmente docker network create n8n_global para conectar otros servicios
9 n8n_global:
10 external: true
11
12x-shared-env: &shared-env
13 DEBUG: "*"
14 N8N_LOG_LEVEL: ${N8N_LOG_LEVEL}
15 N8N_LOG_OUTPUT: ${N8N_LOG_OUTPUT}
16 NODE_ENV: production
17 N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
18 WEBHOOK_URL: ${WEBHOOK_URL}
19
20 DB_TYPE: postgresdb
21 DB_POSTGRESDB_HOST: ${POSTGRES_HOST}
22 DB_POSTGRESDB_PORT: ${POSTGRES_PORT}
23 DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
24 DB_POSTGRESDB_USER: ${POSTGRES_USER}
25 DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
26
27 N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
28
29 GENERIC_TIMEZONE: America/Caracas
30 TZ: America/Caracas
31
32 OLLAMA_HOST: ${OLLAMA_HOST}
33
34 N8N_RUNNERS_ENABLED: "true"
35 N8N_RUNNERS_MAX_CONCURRENCY: "10"
36 N8N_RUNNERS_MODE: internal
37
38 QUEUE_BULL_REDIS_HOST: ${REDIS_HOST}
39 #QUEUE_BULL_REDIS_USERNAME: ""
40 QUEUE_BULL_REDIS_PASSWORD: ${REDIS_PASSWORD}
41 QUEUE_BULL_REDIS_PORT: ${REDIS_PORT}
42 QUEUE_BULL_REDIS_TIMEOUT_THRESHOLD: "30000"
43 QUEUE_HEALTH_CHECK_ACTIVE: "true"
44 QUEUE_BULL_PREFIX: n8n_
45
46 QUEUE_BULL_REDIS_DB: 1
47
48
49 EXECUTIONS_MODE: queue
50 EXECUTIONS_DATA_MODE: queue
51
52 N8N_ENDPOINTS_WORKFLOW_ENABLED: "true"
53 EXECUTIONS_DATA_PRUNE: "true"
54 EXECUTIONS_DATA_MAX_AGE: "96"
55 EXECUTIONS_DATA_PRUNE_MAX_COUNT: "400"
56 N8N_FORMDATA_FILE_SIZE_MAX: "200"
57 N8N_METRICS: "true"
58 OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true"
59
60x-shared-vol: &shared-vol
61 - /var/run/docker.sock:/var/run/docker.sock:ro
62 - ./data:/home/node/.n8n
63 - ./local_backups:/home/local_backups:rw
64 - ./shared/python-scripts:/shared-data/python-scripts
65
66services:
67 n8n:
68 restart: always
69
70 extra_hosts:
71 - "host.docker.internal:host-gateway"
72
73 ports:
74 - "5678:5678"
75
76 user: "1000:1000"
77
78 # build with Dockerfile
79 image: n8n-python
80 #image: n8nio/n8n:latest
81
82 container_name: n8n
83 env_file: .env
84
85 volumes: *shared-vol
86
87 environment:
88 <<: *shared-env
89 #QUEUE_BULL_REDIS_DB: 1
90 N8N_PORT: 5678
91 OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS: "true"
92
93 networks:
94 - n8n_network
95 - n8n_global
96
97
98
99 n8n-worker:
100 restart: always
101
102 extra_hosts:
103 - "host.docker.internal:host-gateway"
104
105 user: "1000:1000"
106
107 # build with Dockerfile
108 image: n8n-python
109 #image: n8nio/n8n:latest
110
111 #container_name: n8n-worker
112 env_file: .env
113 volumes: *shared-vol
114 environment:
115 <<: *shared-env
116 N8N_WORKER_PROCESS: "true"
117
118 command: worker
119
120 deploy:
121 mode: replicated
122 replicas: 4
123
124 networks:
125 - n8n_network
126 - n8n_global
127
n8n_python_update.sh Sin formato
1#!/bin/bash
2EXEC_DIR="$(dirname "$0")"
3echo "$(pwd)"
4echo "Executing -> ${BASH_SOURCE[0]}"
5echo -e "\n"
6echo "pull n8nio/n8n:latest"
7docker pull n8nio/n8n:latest
8echo -e "\n"
9echo "build -t n8n-python ."
10docker build -t n8n-python .
11echo -e "\n"
12
sample.env Sin formato
1N8N_ENCRYPTION_KEY=password_n8n_Encryption_key
2
3#POSTGRES_HOST=localhost
4POSTGRES_HOST=host.docker.internal
5POSTGRES_PORT=55432
6POSTGRES_DB=n8n
7POSTGRES_USER=n8n
8POSTGRES_PASSWORD=Password_Para_Postgress
9
10REDIS_PASSWORD=Password_Para_Redis
11REDIS_USERNAME=
12REDIS_PORT=56379
13REDIS_HOST=host.docker.internal
14
15N8N_LOG_LEVEL=error
16#N8N_LOG_LEVEL=warn
17N8N_LOG_OUTPUT=console, file
18
19
20#OLLAMA_HOST=host.docker.internal:12004
21
22WEBHOOK_URL=https://www.tu-servidor-aqui.com
23
24