docker-compose.ee.yml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG
  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"
  12. SERVER_NAME: "NETMAKER_BASE_DOMAIN"
  13. 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"
  14. SERVER_HOST: "SERVER_PUBLIC_IP"
  15. SERVER_API_CONN_STRING: "api.NETMAKER_BASE_DOMAIN:443"
  16. COREDNS_ADDR: "SERVER_PUBLIC_IP"
  17. DNS_MODE: "on"
  18. SERVER_HTTP_HOST: "api.NETMAKER_BASE_DOMAIN"
  19. NETCLIENT_AUTO_UPDATE: "enabled"
  20. API_PORT: "8081"
  21. MASTER_KEY: "REPLACE_MASTER_KEY"
  22. CORS_ALLOWED_ORIGIN: "*"
  23. DISPLAY_KEYS: "on"
  24. DATABASE: "sqlite"
  25. NODE_ID: "netmaker-server-1"
  26. SERVER_BROKER_ENDPOINT: "ws://mq:1883"
  27. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  28. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  29. STUN_PORT: "3478"
  30. VERBOSITY: "1"
  31. METRICS_EXPORTER: "on"
  32. LICENSE_KEY: "YOUR_LICENSE_KEY"
  33. NETMAKER_ACCOUNT_ID: "YOUR_ACCOUNT_ID"
  34. DEFAULT_PROXY_MODE: "off"
  35. TURN_SERVER_HOST: "turn.NETMAKER_BASE_DOMAIN"
  36. TURN_SERVER_API_HOST: "https://turnapi.NETMAKER_BASE_DOMAIN"
  37. TURN_PORT: "3479"
  38. TURN_USERNAME: "REPLACE_TURN_USERNAME"
  39. TURN_PASSWORD: "REPLACE_TURN_PASSWORD"
  40. USE_TURN: "true"
  41. ports:
  42. - "3478:3478/udp"
  43. netmaker-ui:
  44. container_name: netmaker-ui
  45. image: gravitl/netmaker-ui:REPLACE_UI_IMAGE_TAG
  46. depends_on:
  47. - netmaker
  48. links:
  49. - "netmaker:api"
  50. restart: always
  51. environment:
  52. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  53. caddy:
  54. image: caddy:2.6.2
  55. container_name: caddy
  56. restart: unless-stopped
  57. volumes:
  58. - /root/Caddyfile:/etc/caddy/Caddyfile
  59. - caddy_data:/data
  60. - caddy_conf:/config
  61. ports:
  62. - "80:80"
  63. - "443:443"
  64. coredns:
  65. container_name: coredns
  66. image: coredns/coredns
  67. command: -conf /root/dnsconfig/Corefile
  68. depends_on:
  69. - netmaker
  70. restart: always
  71. volumes:
  72. - dnsconfig:/root/dnsconfig
  73. mq:
  74. container_name: mq
  75. image: eclipse-mosquitto:2.0.15-openssl
  76. depends_on:
  77. - netmaker
  78. restart: unless-stopped
  79. command: ["/mosquitto/config/wait.sh"]
  80. environment:
  81. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  82. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  83. volumes:
  84. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  85. - /root/wait.sh:/mosquitto/config/wait.sh
  86. - mosquitto_logs:/mosquitto/log
  87. prometheus:
  88. container_name: prometheus
  89. image: gravitl/netmaker-prometheus:latest
  90. environment:
  91. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  92. LICENSE_KEY: "YOUR_LICENSE_KEY"
  93. restart: always
  94. volumes:
  95. - prometheus_data:/prometheus
  96. depends_on:
  97. - netmaker
  98. grafana:
  99. container_name: grafana
  100. image: gravitl/netmaker-grafana:latest
  101. environment:
  102. PROMETHEUS_HOST: "prometheus.NETMAKER_BASE_DOMAIN"
  103. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  104. LICENSE_KEY: "YOUR_LICENSE_KEY"
  105. volumes:
  106. - grafana_data:/var/lib/grafana
  107. restart: always
  108. links:
  109. - prometheus
  110. depends_on:
  111. - prometheus
  112. - netmaker
  113. netmaker-exporter:
  114. container_name: netmaker-exporter
  115. image: gravitl/netmaker-exporter:latest
  116. restart: always
  117. depends_on:
  118. - netmaker
  119. environment:
  120. SERVER_BROKER_ENDPOINT: "ws://mq:1883"
  121. BROKER_ENDPOINT: "wss://broker.NETMAKER_BASE_DOMAIN"
  122. PROMETHEUS: "on"
  123. VERBOSITY: "1"
  124. API_PORT: "8085"
  125. LICENSE_KEY: "YOUR_LICENSE_KEY"
  126. PROMETHEUS_HOST: https://prometheus.NETMAKER_BASE_DOMAIN
  127. turn:
  128. container_name: turn
  129. image: gravitl/turnserver:v1.0.0
  130. network_mode: "host"
  131. volumes:
  132. - turn_server:/etc/config
  133. environment:
  134. DEBUG_MODE: "off"
  135. VERBOSITY: "1"
  136. TURN_PORT: "3479"
  137. TURN_API_PORT: "8089"
  138. CORS_ALLOWED_ORIGIN: "*"
  139. TURN_SERVER_HOST: "turn.NETMAKER_BASE_DOMAIN"
  140. USERNAME: "REPLACE_TURN_USERNAME"
  141. PASSWORD: "REPLACE_TURN_PASSWORD"
  142. volumes:
  143. caddy_data: {}
  144. caddy_conf: {}
  145. sqldata: {}
  146. dnsconfig: {}
  147. mosquitto_logs: {}
  148. prometheus_data: {}
  149. grafana_data: {}
  150. turn_server: {}