docker-compose.ee.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG
  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. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  29. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  30. STUN_PORT: "3478"
  31. VERBOSITY: "1"
  32. METRICS_EXPORTER: "on"
  33. LICENSE_KEY: "YOUR_LICENSE_KEY"
  34. NETMAKER_ACCOUNT_ID: "YOUR_ACCOUNT_ID"
  35. DEFAULT_PROXY_MODE: "auto"
  36. ports:
  37. - "3478:3478/udp"
  38. netmaker-ui:
  39. container_name: netmaker-ui
  40. image: gravitl/netmaker-ui:REPLACE_UI_IMAGE_TAG
  41. depends_on:
  42. - netmaker
  43. links:
  44. - "netmaker:api"
  45. restart: always
  46. environment:
  47. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  48. caddy:
  49. image: caddy:2.6.2
  50. container_name: caddy
  51. restart: unless-stopped
  52. volumes:
  53. - /root/Caddyfile:/etc/caddy/Caddyfile
  54. - caddy_data:/data
  55. - caddy_conf:/config
  56. ports:
  57. - "80:80"
  58. - "443:443"
  59. coredns:
  60. container_name: coredns
  61. image: coredns/coredns
  62. command: -conf /root/dnsconfig/Corefile
  63. depends_on:
  64. - netmaker
  65. restart: always
  66. volumes:
  67. - dnsconfig:/root/dnsconfig
  68. mq:
  69. container_name: mq
  70. image: emqx/emqx:5.0.17
  71. restart: unless-stopped
  72. environment:
  73. EMQX_NAME: "emqx"
  74. EMQX_DASHBOARD__DEFAULT_PASSWORD: "REPLACE_MQ_PASSWORD"
  75. EMQX_DASHBOARD__DEFAULT_USERNAME: "REPLACE_MQ_USERNAME"
  76. ports:
  77. - "1883:1883" # MQTT
  78. - "8883:8883" # SSL MQTT
  79. - "8083:8083" # Websockets
  80. - "18083:18083" # Dashboard/REST_API
  81. prometheus:
  82. container_name: prometheus
  83. image: gravitl/netmaker-prometheus:latest
  84. environment:
  85. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  86. LICENSE_KEY: "YOUR_LICENSE_KEY"
  87. restart: always
  88. volumes:
  89. - prometheus_data:/prometheus
  90. depends_on:
  91. - netmaker
  92. grafana:
  93. container_name: grafana
  94. image: gravitl/netmaker-grafana:latest
  95. environment:
  96. PROMETHEUS_HOST: "prometheus.NETMAKER_BASE_DOMAIN"
  97. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  98. LICENSE_KEY: "YOUR_LICENSE_KEY"
  99. volumes:
  100. - grafana_data:/var/lib/grafana
  101. restart: always
  102. links:
  103. - prometheus
  104. depends_on:
  105. - prometheus
  106. - netmaker
  107. netmaker-exporter:
  108. container_name: netmaker-exporter
  109. image: gravitl/netmaker-exporter:latest
  110. restart: always
  111. depends_on:
  112. - netmaker
  113. environment:
  114. SERVER_BROKER_ENDPOINT: "ws://mq:8083/mqtt"
  115. BROKER_ENDPOINT: "wss://broker.NETMAKER_BASE_DOMAIN/mqtt"
  116. PROMETHEUS: "on"
  117. VERBOSITY: "1"
  118. API_PORT: "8085"
  119. LICENSE_KEY: "YOUR_LICENSE_KEY"
  120. PROMETHEUS_HOST: https://prometheus.NETMAKER_BASE_DOMAIN
  121. volumes:
  122. caddy_data: {}
  123. caddy_conf: {}
  124. sqldata: {}
  125. dnsconfig: {}
  126. mosquitto_logs: {}
  127. prometheus_data: {}
  128. grafana_data: {}