Skip to content

Commit 6c42579

Browse files
chore(docker,env): clean up env vars and defaults for n8n, opensearch, postgresql, temporal (#12)
- Added required environment variables for n8n, opensearch, postgresql, and temporal in docker-compose files - Updated .env.example to remove unnecessary volume path configuration - Ensured default values are set for environment variables to improve configuration flexibility
1 parent d675e54 commit 6c42579

File tree

3 files changed

+55
-28
lines changed

3 files changed

+55
-28
lines changed

.env.example

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,5 @@ OPENSEARCH_PORT=9200
1717
TEMPORAL_PORT=7233
1818
TEMPORAL_UI_PORT=8080
1919

20-
# Volumes path (you can customize if needed)
21-
PWD=.
22-
2320
# GitHub MCP Server configuration
2421
GITHUB_PERSONAL_ACCESS_TOKEN=github_access_token

docker-compose.prod.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
services:
2+
n8n:
3+
environment:
4+
- WEBHOOK_URL=${N8N_WEBHOOK_URL:?N8N_WEBHOOK_URL is required}
5+
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY:?N8N_ENCRYPTION_KEY is required}
6+
- N8N_HOST=n8n.speedandfunction.com
7+
opensearch:
8+
environment:
9+
- OPENSEARCH_PORT=${OPENSEARCH_PORT:?OPENSEARCH_PORT is required}
10+
11+
postgresql:
12+
environment:
13+
- POSTGRES_USER=${POSTGRES_USER:?POSTGRES_USER is required}
14+
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
15+
- POSTGRES_DB=${POSTGRES_DB:?POSTGRES_DB is required}
16+
17+
temporal:
18+
environment:
19+
- TEMPORAL_PORT=${TEMPORAL_PORT:?TEMPORAL_PORT is required}
20+
21+
temporal-ui:
22+
environment:
23+
- TEMPORAL_UI_PORT=${TEMPORAL_UI_PORT:?TEMPORAL_UI_PORT is required}
24+
125
volumes:
226
n8n_data:
327
driver: local

docker-compose.yml

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,17 @@ services:
77
dockerfile: Dockerfile.n8n
88
restart: unless-stopped
99
ports:
10-
- "${N8N_PORT}:5678"
10+
- "${N8N_PORT:-5678}:5678"
1111
environment:
12-
- WEBHOOK_URL=${N8N_WEBHOOK_URL}
13-
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
14-
- "N8N_RUNNERS_ENABLED=true"
15-
- "N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true"
16-
- "N8N_PORT=5678"
17-
- "NODE_ENV=production"
18-
- "N8N_METRICS=true"
19-
- "N8N_HEALTH_CHECK_ENDPOINT=true"
12+
- WEBHOOK_URL=${N8N_WEBHOOK_URL:-http://localhost:5678/}
13+
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY:-a_random_string_for_encryption}
14+
- N8N_PORT=${N8N_PORT:-5678}
15+
- N8N_RUNNERS_ENABLED=true
16+
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
17+
- NODE_ENV=production
18+
- N8N_METRICS=true
19+
- N8N_HEALTH_CHECK_ENDPOINT=true
20+
- N8N_EXPRESS_TRUST_PROXY=true
2021
volumes:
2122
- n8n_data:/home/node/.n8n
2223
networks:
@@ -29,13 +30,14 @@ services:
2930
image: opensearchproject/opensearch:2.5.0
3031
restart: unless-stopped
3132
environment:
33+
- OPENSEARCH_PORT=${OPENSEARCH_PORT:-9200}
34+
- DISABLE_SECURITY_PLUGIN=${DISABLE_SECURITY_PLUGIN:-true}
3235
- discovery.type=single-node
3336
- bootstrap.memory_lock=true
34-
- "OPENSEARCH_JAVA_OPTS=-Xms256m -Xmx256m"
35-
- "DISABLE_SECURITY_PLUGIN=${DISABLE_SECURITY_PLUGIN}"
36-
- "DISABLE_INSTALL_DEMO_CONFIG=true"
37+
- OPENSEARCH_JAVA_OPTS=-Xms256m -Xmx256m
38+
- DISABLE_INSTALL_DEMO_CONFIG=true
3739
ports:
38-
- ${OPENSEARCH_PORT}:9200
40+
- ${OPENSEARCH_PORT:-9200}:9200
3941
cap_add:
4042
- IPC_LOCK
4143
ulimits:
@@ -47,7 +49,7 @@ services:
4749
networks:
4850
- app-network
4951
healthcheck:
50-
test: ["CMD-SHELL", "curl -sSf http://localhost:${OPENSEARCH_PORT}/ || exit 1"]
52+
test: ["CMD-SHELL", "curl -sSf http://localhost:${OPENSEARCH_PORT:-9200}/ || exit 1"]
5153
interval: 30s
5254
timeout: 10s
5355
retries: 5
@@ -58,18 +60,18 @@ services:
5860
image: postgres:14
5961
restart: unless-stopped
6062
environment:
61-
POSTGRES_USER: ${POSTGRES_USER}
62-
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
63-
POSTGRES_DB: ${POSTGRES_DB}
63+
POSTGRES_USER: ${POSTGRES_USER:-temporal}
64+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-temporal}
65+
POSTGRES_DB: ${POSTGRES_DB:-temporal}
6466
ports:
65-
- ${POSTGRES_PORT}:5432
67+
- ${POSTGRES_PORT:-5432}:5432
6668
volumes:
6769
- postgresql-data:/var/lib/postgresql/data
6870
networks:
6971
- app-network
7072
user: postgres
7173
healthcheck:
72-
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
74+
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-temporal}"]
7375
interval: 5s
7476
timeout: 5s
7577
retries: 5
@@ -82,14 +84,18 @@ services:
8284
dockerfile: Dockerfile.temporal
8385
args:
8486
- HOST=temporal
85-
- TEMPORAL_PORT=${TEMPORAL_PORT}
87+
- TEMPORAL_PORT=${TEMPORAL_PORT:-7233}
8688
restart: unless-stopped
8789
depends_on:
8890
postgresql:
8991
condition: service_healthy
9092
opensearch:
9193
condition: service_healthy
9294
environment:
95+
- TEMPORAL_PORT=${TEMPORAL_PORT:-7233}
96+
- DB_PORT=${POSTGRES_PORT:-5432}
97+
- POSTGRES_USER=${POSTGRES_USER:-temporal}
98+
- POSTGRES_PWD=${POSTGRES_PASSWORD:-temporal}
9399
- ES_SEEDS=opensearch
94100
- ES_VERSION=v7
95101
- DB=postgresql
@@ -99,9 +105,8 @@ services:
99105
- POSTGRES_SEEDS=postgresql
100106
- ENABLE_ES=true
101107
- HOST=temporal
102-
- TEMPORAL_PORT=7233
103108
ports:
104-
- ${TEMPORAL_PORT}:7233
109+
- "${TEMPORAL_PORT:-7233}:7233"
105110
networks:
106111
- app-network
107112
user: temporal
@@ -114,14 +119,15 @@ services:
114119
temporal:
115120
condition: service_healthy
116121
environment:
117-
- TEMPORAL_ADDRESS=temporal:${TEMPORAL_PORT}
122+
- TEMPORAL_UI_PORT=${TEMPORAL_UI_PORT:-8080}
123+
- TEMPORAL_ADDRESS=temporal:${TEMPORAL_PORT:-7233}
118124
- TEMPORAL_PERMIT_WRITE_API=true
119125
ports:
120-
- ${TEMPORAL_UI_PORT}:8080
126+
- ${TEMPORAL_UI_PORT:-8080}:8080
121127
networks:
122128
- app-network
123129
healthcheck:
124-
test: ["CMD", "wget", "-O", "/dev/null", "-q", "http://temporal-ui:${TEMPORAL_UI_PORT}"]
130+
test: ["CMD", "wget", "-O", "/dev/null", "-q", "http://temporal-ui:${TEMPORAL_UI_PORT:-8080}"]
125131
interval: 10s
126132
timeout: 5s
127133
retries: 5

0 commit comments

Comments
 (0)