version: "3.7" services: nats: image: docker.io/library/nats-streaming:0.25.6 # nobody user: "65534" command: - "/nats-streaming-server" - "-m" - "8222" - "--store=file" - "--dir=/nats" - "--cluster_id=faas-cluster" volumes: # Data directory - type: bind source: ./nats target: /nats # ports: # - "127.0.0.1:8222:8222" prometheus: image: docker.io/prom/prometheus:v2.49.1 # nobody user: "65534" volumes: # Config directory - type: bind source: ./prometheus.yml target: /etc/prometheus/prometheus.yml # Data directory - type: bind source: ./prometheus target: /prometheus cap_add: - CAP_NET_RAW ports: - "127.0.0.1:9090:9090" gateway: image: ghcr.io/openfaas/gateway:0.27.5 environment: - basic_auth=true - functions_provider_url=http://faasd-provider:8081/ - direct_functions=false - read_timeout=60s - write_timeout=60s - upstream_timeout=65s - faas_nats_address=nats - faas_nats_port=4222 - secret_mount_path=/run/secrets - scale_from_zero=true - function_namespace=openfaas-fn volumes: # we assume cwd == /var/lib/faasd - type: bind source: ./secrets/basic-auth-password target: /run/secrets/basic-auth-password - type: bind source: ./secrets/basic-auth-user target: /run/secrets/basic-auth-user cap_add: - CAP_NET_RAW depends_on: - nats - prometheus ports: - "8080:8080" queue-worker: image: ghcr.io/openfaas/queue-worker:0.14.1 environment: - faas_nats_address=nats - faas_nats_port=4222 - gateway_invoke=true - faas_gateway_address=gateway - ack_wait=5m5s - max_inflight=1 - write_debug=false - basic_auth=true - secret_mount_path=/run/secrets volumes: # we assume cwd == /var/lib/faasd - type: bind source: ./secrets/basic-auth-password target: /run/secrets/basic-auth-password - type: bind source: ./secrets/basic-auth-user target: /run/secrets/basic-auth-user cap_add: - CAP_NET_RAW depends_on: - nats