72 lines
1.7 KiB
YAML
72 lines
1.7 KiB
YAML
# Compose v2 - NATS stack
|
|
|
|
x-common-env: &common-env
|
|
env_file:
|
|
- ../env/.env.runtime
|
|
|
|
volumes:
|
|
nats_data: {}
|
|
|
|
networks:
|
|
sendico-net:
|
|
external: true
|
|
name: sendico-net
|
|
|
|
services:
|
|
sendico_nats:
|
|
<<: *common-env
|
|
image: docker.io/library/nats:latest
|
|
container_name: sendico-nats
|
|
restart: unless-stopped
|
|
command:
|
|
- --jetstream
|
|
- --http_port=${NATS_MONITORING_PORT}
|
|
- --server_name=sendico-nats
|
|
- --user=${NATS_USER}
|
|
- --pass=${NATS_PASSWORD}
|
|
- --port=${NATS_PORT}
|
|
- --store_dir=/data
|
|
environment:
|
|
NATS_SERVER_OPTS: --jetstream
|
|
volumes:
|
|
- nats_data:/data
|
|
ports:
|
|
- "0.0.0.0:${NATS_PORT}:${NATS_PORT}"
|
|
- "0.0.0.0:${NATS_MONITORING_PORT}:${NATS_MONITORING_PORT}"
|
|
healthcheck:
|
|
test: ["CMD-SHELL","wget -qO- http://localhost:${NATS_MONITORING_PORT}/healthz >/dev/null"]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
networks:
|
|
- sendico-net
|
|
|
|
sendico_nats_exporter:
|
|
<<: *common-env
|
|
image: natsio/prometheus-nats-exporter:latest
|
|
container_name: sendico-nats-exporter
|
|
restart: unless-stopped
|
|
depends_on:
|
|
sendico_nats:
|
|
condition: service_healthy
|
|
environment:
|
|
NATS_URL: http://sendico-nats:${NATS_MONITORING_PORT}
|
|
ports:
|
|
- "0.0.0.0:${NATS_PROMETHEUS_PORT}:${NATS_PROMETHEUS_PORT}"
|
|
command:
|
|
- -varz
|
|
- -connz
|
|
- -routez
|
|
- -subz
|
|
- -leafz
|
|
- -gatewayz
|
|
- -healthz
|
|
- -accstatz
|
|
- -jsz=all
|
|
- -addr=0.0.0.0
|
|
- -port=${NATS_PROMETHEUS_PORT}
|
|
- http://sendico-nats:${NATS_MONITORING_PORT}
|
|
networks:
|
|
- sendico-net
|