Skip to content

Commit edce0e5

Browse files
authored
M8F-152 feat: Make NATS an optional service via Docker Compose profiles and environment variable configuration. (#80)
1 parent 31001dd commit edce0e5

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

docker/m8flow-docker-compose.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ services:
8888
- redis-data:/data
8989

9090
nats:
91+
profiles: ["nats"]
9192
container_name: m8flow-nats
9293
image: nats:2.10-alpine
9394
command: ["-js", "--store_dir=/data/nats", "-m", "8222"]
@@ -104,6 +105,7 @@ services:
104105
restart: unless-stopped
105106

106107
m8flow-nats-consumer:
108+
profiles: ["nats"]
107109
container_name: m8flow-nats-consumer
108110
build:
109111
context: ..
@@ -119,12 +121,16 @@ services:
119121
depends_on:
120122
nats:
121123
condition: service_healthy
124+
required: false
122125
m8flow-backend:
123126
condition: service_started
124127
environment:
128+
M8FLOW_NATS_ENABLED: "${M8FLOW_NATS_ENABLED:-false}"
125129
M8FLOW_NATS_URL: "nats://nats:4222"
126130
M8FLOW_BACKEND_DATABASE_URI: "postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@m8flow-db:5432/${POSTGRES_DB:-postgres}"
127131
SPIFFWORKFLOW_BACKEND_DATABASE_URI: "postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@m8flow-db:5432/${POSTGRES_DB:-postgres}"
132+
M8FLOW_BACKEND_UPGRADE_DB: "false"
133+
M8FLOW_BACKEND_SW_UPGRADE_DB: "false"
128134
volumes:
129135
- process_models_cache:/app/process_models
130136
- ../data/m8flow_nats_consumer:/app/data/m8flow_nats_consumer
@@ -228,7 +234,7 @@ services:
228234
M8FLOW_BACKEND_URL_FOR_FRONTEND: "${M8FLOW_BACKEND_URL_FOR_FRONTEND:-http://localhost:7001}"
229235
M8FLOW_BACKEND_CELERY_BROKER_URL: "${M8FLOW_BACKEND_CELERY_BROKER_URL:-redis://redis:6379/0}"
230236
M8FLOW_BACKEND_CELERY_RESULT_BACKEND: "${M8FLOW_BACKEND_CELERY_RESULT_BACKEND:-redis://redis:6379/0}"
231-
M8FLOW_NATS_ENABLED: "true"
237+
M8FLOW_NATS_ENABLED: "${M8FLOW_NATS_ENABLED:-false}"
232238
M8FLOW_NATS_URL: "nats://nats:4222"
233239
ports:
234240
- "${M8FLOW_BACKEND_PORT:-7000}:8000"
@@ -250,6 +256,7 @@ services:
250256
condition: service_started
251257
nats:
252258
condition: service_healthy
259+
required: false
253260

254261
m8flow-celery-worker:
255262
build:

sample.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ MINIO_ROOT_PASSWORD=minioadmin
170170
M8FLOW_STARTUP_DIAGNOSTICS=false
171171

172172
# --- NATS / Event Driven Architecture ---
173-
M8FLOW_NATS_ENABLED=true
173+
M8FLOW_NATS_ENABLED=false
174174
M8FLOW_NATS_URL=nats://localhost:4222
175175
M8FLOW_NATS_STREAM_NAME=M8FLOW_EVENTS
176176
M8FLOW_NATS_SUBJECT=m8flow.events.>

0 commit comments

Comments
 (0)