services: nats: image: nats:2.10-alpine restart: unless-stopped command: ["-c", "/etc/nats/nats-server.conf"] environment: - SERVICE_FQDN_NATS_8080 configs: - source: nats-conf target: /etc/nats/nats-server.conf volumes: - nats-data:/data expose: - "8080" healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:8222/healthz"] interval: 30s timeout: 5s retries: 3 configs: nats-conf: content: | server_name: "nats-volcanic" port: 4222 http_port: 8222 jetstream { store_dir: "/data" max_memory_store: 256MB max_file_store: 4GB } websocket { port: 8080 no_tls: true } authorization { users = [ { user: "${NATS_USER}", password: "${NATS_PASSWORD}" } ] } volumes: nats-data: