docker-compose-emqx.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:v0.18.7
  6. restart: on-failure
  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. NETCLIENT_AUTO_UPDATE: "enabled"
  22. API_PORT: "8081"
  23. MASTER_KEY: "REPLACE_MASTER_KEY"
  24. CORS_ALLOWED_ORIGIN: "*"
  25. DISPLAY_KEYS: "on"
  26. DATABASE: "sqlite"
  27. NODE_ID: "netmaker-server-1"
  28. SERVER_BROKER_ENDPOINT: "ws://mq:8083/mqtt"
  29. STUN_PORT: "3478"
  30. VERBOSITY: "1"
  31. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  32. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  33. DEFAULT_PROXY_MODE: "off"
  34. ports:
  35. - "3478:3478/udp"
  36. netmaker-ui:
  37. container_name: netmaker-ui
  38. image: gravitl/netmaker-ui:v0.18.7
  39. depends_on:
  40. - netmaker
  41. links:
  42. - "netmaker:api"
  43. restart: always
  44. environment:
  45. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  46. caddy:
  47. image: caddy:2.6.2
  48. container_name: caddy
  49. restart: unless-stopped
  50. volumes:
  51. - /root/Caddyfile:/etc/caddy/Caddyfile
  52. - caddy_data:/data
  53. - caddy_conf:/config
  54. ports:
  55. - "80:80"
  56. - "443:443"
  57. coredns:
  58. container_name: coredns
  59. image: coredns/coredns
  60. command: -conf /root/dnsconfig/Corefile
  61. depends_on:
  62. - netmaker
  63. restart: always
  64. volumes:
  65. - dnsconfig:/root/dnsconfig
  66. mq:
  67. container_name: mq
  68. image: emqx/emqx:5.0.9
  69. restart: unless-stopped
  70. environment:
  71. EMQX_NAME: "emqx"
  72. EMQX_DASHBOARD__DEFAULT_PASSWORD: "REPLACE_MQ_PASSWORD"
  73. EMQX_DASHBOARD__DEFAULT_USERNAME: "REPLACE_MQ_USERNAME"
  74. ports:
  75. - "1883:1883" # MQTT
  76. - "8883:8883" # SSL MQTT
  77. - "8083:8083" # Websockets
  78. - "18083:18083" # Dashboard/REST_API
  79. volumes:
  80. caddy_data: {}
  81. caddy_conf: {}
  82. sqldata: {}
  83. dnsconfig: {}
  84. mosquitto_logs: {}