docker-compose-emqx.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:v0.18.4
  6. restart: always
  7. volumes:
  8. - dnsconfig:/root/config/dnsconfig
  9. - sqldata:/root/data
  10. environment:
  11. BROKER_ENDPOINT: "wss://broker.NETMAKER_BASE_DOMAIN/mqtt"
  12. BROKER_TYPE: "emqx"
  13. EMQX_REST_ENDPOINT: "http://mq:18083"
  14. SERVER_NAME: "NETMAKER_BASE_DOMAIN"
  15. STUN_LIST: "stun.NETMAKER_BASE_DOMAIN:3478,stun1.netmaker.io:3478,stun2.netmaker.io:3478,stun1.l.google.com:19302,stun2.l.google.com:19302"
  16. SERVER_HOST: "SERVER_PUBLIC_IP"
  17. SERVER_API_CONN_STRING: "api.NETMAKER_BASE_DOMAIN:443"
  18. COREDNS_ADDR: "SERVER_PUBLIC_IP"
  19. DNS_MODE: "on"
  20. SERVER_HTTP_HOST: "api.NETMAKER_BASE_DOMAIN"
  21. API_PORT: "8081"
  22. MASTER_KEY: "REPLACE_MASTER_KEY"
  23. CORS_ALLOWED_ORIGIN: "*"
  24. DISPLAY_KEYS: "on"
  25. DATABASE: "sqlite"
  26. NODE_ID: "netmaker-server-1"
  27. SERVER_BROKER_ENDPOINT: "ws://mq:8083/mqtt"
  28. STUN_PORT: "3478"
  29. VERBOSITY: "1"
  30. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  31. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  32. DEFAULT_PROXY_MODE: "auto"
  33. ports:
  34. - "3478:3478/udp"
  35. netmaker-ui:
  36. container_name: netmaker-ui
  37. image: gravitl/netmaker-ui:v0.18.4
  38. depends_on:
  39. - netmaker
  40. links:
  41. - "netmaker:api"
  42. restart: always
  43. environment:
  44. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  45. caddy:
  46. image: caddy:2.6.2
  47. container_name: caddy
  48. restart: unless-stopped
  49. volumes:
  50. - /root/Caddyfile:/etc/caddy/Caddyfile
  51. - caddy_data:/data
  52. - caddy_conf:/config
  53. ports:
  54. - "80:80"
  55. - "443:443"
  56. coredns:
  57. container_name: coredns
  58. image: coredns/coredns
  59. command: -conf /root/dnsconfig/Corefile
  60. depends_on:
  61. - netmaker
  62. restart: always
  63. volumes:
  64. - dnsconfig:/root/dnsconfig
  65. mq:
  66. container_name: mq
  67. image: emqx/emqx:5.0.17
  68. restart: unless-stopped
  69. environment:
  70. EMQX_NAME: "emqx"
  71. EMQX_DASHBOARD__DEFAULT_PASSWORD: "REPLACE_MQ_PASSWORD"
  72. EMQX_DASHBOARD__DEFAULT_USERNAME: "REPLACE_MQ_USERNAME"
  73. ports:
  74. - "1883:1883" # MQTT
  75. - "8883:8883" # SSL MQTT
  76. - "8083:8083" # Websockets
  77. - "18083:18083" # Dashboard/REST_API
  78. volumes:
  79. caddy_data: {}
  80. caddy_conf: {}
  81. sqldata: {}
  82. dnsconfig: {}
  83. mosquitto_logs: {}