version: "3.8" x-moq: &x-moq build: . environment: RUST_LOG: ${RUST_LOG:-debug} volumes: - ./dev/localhost.crt:/etc/tls/cert:ro - ./dev/localhost.key:/etc/tls/key:ro - certs:/etc/ssl/certs depends_on: install-certs: condition: service_completed_successfully services: redis: image: redis:7 ports: - "6379" api: <<: *x-moq entrypoint: moq-api command: --redis redis://redis:6379 ports: - "80" relay1: <<: *x-moq entrypoint: moq-relay command: --tls-cert /etc/tls/cert --tls-key /etc/tls/key --tls-disable-verify --api http://api --node https://relay1 --dev --announce https://dir depends_on: - api - dir ports: - "4443:443" - "4443:443/udp" relay2: <<: *x-moq entrypoint: moq-relay command: --tls-cert /etc/tls/cert --tls-key /etc/tls/key --tls-disable-verify --api http://api --node https://relay2 --dev --announce https://dir depends_on: - api - dir ports: - "4444:443" - "4444:443/udp" dir: <<: *x-moq entrypoint: moq-dir command: --tls-cert /etc/tls/cert --tls-key /etc/tls/key ports: - "443/udp" install-certs: image: golang:latest working_dir: /work command: go run filippo.io/mkcert -install environment: CAROOT: /work/caroot volumes: - ${CAROOT:-.}:/work/caroot - certs:/etc/ssl/certs - ./dev/go.mod:/work/go.mod:ro - ./dev/go.sum:/work/go.sum:ro volumes: certs: