| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | version: "3.4"services:  netmaker:    container_name: netmaker    image: gravitl/netmaker:$SERVER_IMAGE_TAG    env_file: ./netmaker.env    restart: always    volumes:      - dnsconfig:/root/config/dnsconfig      - sqldata:/root/data    environment:      # config-dependant vars      - STUN_LIST=stun.${NM_DOMAIN}:${STUN_PORT},stun1.netmaker.io:3478,stun2.netmaker.io:3478,stun1.l.google.com:19302,stun2.l.google.com:19302      # The domain/host IP indicating the mq broker address      - BROKER_ENDPOINT=wss://broker.${NM_DOMAIN}      # The base domain of netmaker      - SERVER_NAME=${NM_DOMAIN}      - SERVER_API_CONN_STRING=api.${NM_DOMAIN}:443      # Address of the CoreDNS server. Defaults to SERVER_HOST      - COREDNS_ADDR=${SERVER_HOST}      # Overrides SERVER_HOST if set. Useful for making HTTP available via different interfaces/networks.      - SERVER_HTTP_HOST=api.${NM_DOMAIN}      # domain for your turn server      - TURN_SERVER_HOST=turn.${NM_DOMAIN}      # domain of the turn api server      - TURN_SERVER_API_HOST=https://turnapi.${NM_DOMAIN}    ports:      - "3478:3478/udp"  netmaker-ui:    container_name: netmaker-ui    image: gravitl/netmaker-ui:$UI_IMAGE_TAG    env_file: ./netmaker.env    environment:      # config-dependant vars      # URL where UI will send API requests. Change based on SERVER_HOST, SERVER_HTTP_HOST, and API_PORT      BACKEND_URL: "https://api.${NM_DOMAIN}"    depends_on:      - netmaker    links:      - "netmaker:api"    restart: always  caddy:    image: caddy:2.6.2    container_name: caddy    env_file: ./netmaker.env    restart: unless-stopped    extra_hosts:      - "host.docker.internal:host-gateway"    volumes:      - ./Caddyfile:/etc/caddy/Caddyfile      - ./certs:/root/certs      - caddy_data:/data      - caddy_conf:/config    ports:      - "80:80"      - "443:443"  coredns:    container_name: coredns    image: coredns/coredns    command: -conf /root/dnsconfig/Corefile    env_file: ./netmaker.env    depends_on:      - netmaker    restart: always    volumes:      - dnsconfig:/root/dnsconfig  mq:    container_name: mq    image: eclipse-mosquitto:2.0.15-openssl    env_file: ./netmaker.env    depends_on:      - netmaker    restart: unless-stopped    command: [ "/mosquitto/config/wait.sh" ]    volumes:      - ./mosquitto.conf:/mosquitto/config/mosquitto.conf      - ./wait.sh:/mosquitto/config/wait.sh      - mosquitto_logs:/mosquitto/log      - mosquitto_data:/mosquitto/data  turn:    container_name: turn    image: gravitl/turnserver:v1.0.0    env_file: ./netmaker.env    environment:      # config-dependant vars      - USERNAME=${TURN_USERNAME}      - PASSWORD=${TURN_PASSWORD}      # domain for your turn server      - TURN_SERVER_HOST=turn.${NM_DOMAIN}    network_mode: "host"    volumes:      - turn_server:/etc/config    restart: alwaysvolumes:  caddy_data: { } # runtime data for caddy  caddy_conf: { } # configuration file for Caddy  sqldata: { }  dnsconfig: { } # storage for coredns  mosquitto_logs: { } # storage for mqtt logs  mosquitto_data: { } # storage for mqtt data  turn_server: { }
 |