docker-compose.ee.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:0.17.0-ee
  6. cap_add:
  7. - NET_ADMIN
  8. - NET_RAW
  9. - SYS_MODULE
  10. sysctls:
  11. - net.ipv4.ip_forward=1
  12. - net.ipv4.conf.all.src_valid_mark=1
  13. - net.ipv6.conf.all.disable_ipv6=0
  14. - net.ipv6.conf.all.forwarding=1
  15. restart: always
  16. volumes:
  17. - dnsconfig:/root/config/dnsconfig
  18. - sqldata:/root/data
  19. - mosquitto_data:/etc/netmaker
  20. environment:
  21. SERVER_NAME: "broker.NETMAKER_BASE_DOMAIN"
  22. SERVER_HOST: "SERVER_PUBLIC_IP"
  23. SERVER_API_CONN_STRING: "api.NETMAKER_BASE_DOMAIN:443"
  24. COREDNS_ADDR: "SERVER_PUBLIC_IP"
  25. DNS_MODE: "on"
  26. SERVER_HTTP_HOST: "api.NETMAKER_BASE_DOMAIN"
  27. API_PORT: "8081"
  28. CLIENT_MODE: "on"
  29. MASTER_KEY: "REPLACE_MASTER_KEY"
  30. CORS_ALLOWED_ORIGIN: "*"
  31. DISPLAY_KEYS: "on"
  32. DATABASE: "sqlite"
  33. NODE_ID: "netmaker-server-1"
  34. MQ_HOST: "mq"
  35. MQ_PORT: "443"
  36. MQ_SERVER_PORT: "1883"
  37. HOST_NETWORK: "off"
  38. VERBOSITY: "1"
  39. MANAGE_IPTABLES: "on"
  40. PORT_FORWARD_SERVICES: "dns"
  41. METRICS_EXPORTER: "on"
  42. LICENSE_KEY: "YOUR_LICENSE_KEY"
  43. NETMAKER_ACCOUNT_ID: "YOUR_ACCOUNT_ID"
  44. MQ_ADMIN_PASSWORD: "REPLACE_MQ_ADMIN_PASSWORD"
  45. ports:
  46. - "51821-51830:51821-51830/udp"
  47. netmaker-ui:
  48. container_name: netmaker-ui
  49. image: gravitl/netmaker-ui:0.17.0
  50. depends_on:
  51. - netmaker
  52. links:
  53. - "netmaker:api"
  54. restart: always
  55. environment:
  56. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  57. caddy:
  58. image: caddy:2.6.2
  59. container_name: caddy
  60. restart: unless-stopped
  61. volumes:
  62. - /root/Caddyfile:/etc/caddy/Caddyfile
  63. - caddy_data:/data
  64. - caddy_conf:/config
  65. ports:
  66. - "80:80"
  67. - "443:443"
  68. coredns:
  69. container_name: coredns
  70. image: coredns/coredns
  71. command: -conf /root/dnsconfig/Corefile
  72. depends_on:
  73. - netmaker
  74. restart: always
  75. volumes:
  76. - dnsconfig:/root/dnsconfig
  77. mq:
  78. container_name: mq
  79. image: eclipse-mosquitto:2.0.15-openssl
  80. depends_on:
  81. - netmaker
  82. restart: unless-stopped
  83. command: ["/mosquitto/config/wait.sh"]
  84. environment:
  85. NETMAKER_SERVER_HOST: "https://api.NETMAKER_BASE_DOMAIN"
  86. volumes:
  87. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  88. - /root/wait.sh:/mosquitto/config/wait.sh
  89. - mosquitto_data:/mosquitto/data
  90. - mosquitto_logs:/mosquitto/log
  91. ports:
  92. - "1883:1883"
  93. - "8883:8883"
  94. prometheus:
  95. container_name: prometheus
  96. image: gravitl/netmaker-prometheus:latest
  97. environment:
  98. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  99. LICENSE_KEY: "YOUR_LICENSE_KEY"
  100. restart: always
  101. volumes:
  102. - prometheus_data:/prometheus
  103. depends_on:
  104. - netmaker
  105. grafana:
  106. container_name: grafana
  107. image: gravitl/netmaker-grafana:latest
  108. environment:
  109. PROMETHEUS_HOST: "prometheus.NETMAKER_BASE_DOMAIN"
  110. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  111. LICENSE_KEY: "YOUR_LICENSE_KEY"
  112. volumes:
  113. - grafana_data:/var/lib/grafana
  114. restart: always
  115. links:
  116. - prometheus
  117. depends_on:
  118. - prometheus
  119. - netmaker
  120. netmaker-exporter:
  121. container_name: netmaker-exporter
  122. image: gravitl/netmaker-exporter:latest
  123. restart: always
  124. depends_on:
  125. - netmaker
  126. environment:
  127. MQ_HOST: "mq"
  128. MQ_PORT: "443"
  129. MQ_SERVER_PORT: "1883"
  130. PROMETHEUS: "on"
  131. VERBOSITY: "1"
  132. API_PORT: "8085"
  133. LICENSE_KEY: "YOUR_LICENSE_KEY"
  134. PROMETHEUS_HOST: https://prometheus.NETMAKER_BASE_DOMAIN
  135. volumes:
  136. caddy_data: {}
  137. caddy_conf: {}
  138. sqldata: {}
  139. dnsconfig: {}
  140. mosquitto_data: {}
  141. mosquitto_logs: {}
  142. prometheus_data: {}
  143. grafana_data: {}