docker-compose.ee.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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_NAME: "broker.NETMAKER_BASE_DOMAIN"
  12. SERVER_NAME: "NETMAKER_BASE_DOMAIN"
  13. STUN_DOMAIN: "stun.NETMAKER_BASE_DOMAIN"
  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. API_PORT: "8081"
  20. MASTER_KEY: "REPLACE_MASTER_KEY"
  21. CORS_ALLOWED_ORIGIN: "*"
  22. DISPLAY_KEYS: "on"
  23. DATABASE: "sqlite"
  24. NODE_ID: "netmaker-server-1"
  25. MQ_HOST: "mq"
  26. MQ_PORT: "443"
  27. MQ_SERVER_PORT: "1883"
  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. ports:
  36. - "3478:3478/udp"
  37. netmaker-ui:
  38. container_name: netmaker-ui
  39. image: gravitl/netmaker-ui:REPLACE_UI_IMAGE_TAG
  40. depends_on:
  41. - netmaker
  42. links:
  43. - "netmaker:api"
  44. restart: always
  45. environment:
  46. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  47. caddy:
  48. image: caddy:2.6.2
  49. container_name: caddy
  50. restart: unless-stopped
  51. volumes:
  52. - /root/Caddyfile:/etc/caddy/Caddyfile
  53. - caddy_data:/data
  54. - caddy_conf:/config
  55. ports:
  56. - "80:80"
  57. - "443:443"
  58. coredns:
  59. container_name: coredns
  60. image: coredns/coredns
  61. command: -conf /root/dnsconfig/Corefile
  62. depends_on:
  63. - netmaker
  64. restart: always
  65. volumes:
  66. - dnsconfig:/root/dnsconfig
  67. mq:
  68. container_name: mq
  69. image: eclipse-mosquitto:2.0.15-openssl
  70. depends_on:
  71. - netmaker
  72. restart: unless-stopped
  73. command: ["/mosquitto/config/wait.sh"]
  74. environment:
  75. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  76. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  77. volumes:
  78. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  79. - /root/wait.sh:/mosquitto/config/wait.sh
  80. - mosquitto_logs:/mosquitto/log
  81. ports:
  82. - "1883:1883"
  83. - "8883:8883"
  84. prometheus:
  85. container_name: prometheus
  86. image: gravitl/netmaker-prometheus:latest
  87. environment:
  88. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  89. LICENSE_KEY: "YOUR_LICENSE_KEY"
  90. restart: always
  91. volumes:
  92. - prometheus_data:/prometheus
  93. depends_on:
  94. - netmaker
  95. grafana:
  96. container_name: grafana
  97. image: gravitl/netmaker-grafana:latest
  98. environment:
  99. PROMETHEUS_HOST: "prometheus.NETMAKER_BASE_DOMAIN"
  100. NETMAKER_METRICS_TARGET: "netmaker-exporter.NETMAKER_BASE_DOMAIN"
  101. LICENSE_KEY: "YOUR_LICENSE_KEY"
  102. volumes:
  103. - grafana_data:/var/lib/grafana
  104. restart: always
  105. links:
  106. - prometheus
  107. depends_on:
  108. - prometheus
  109. - netmaker
  110. netmaker-exporter:
  111. container_name: netmaker-exporter
  112. image: gravitl/netmaker-exporter:latest
  113. restart: always
  114. depends_on:
  115. - netmaker
  116. environment:
  117. MQ_HOST: "mq"
  118. MQ_PORT: "443"
  119. MQ_SERVER_PORT: "1883"
  120. PROMETHEUS: "on"
  121. VERBOSITY: "1"
  122. API_PORT: "8085"
  123. LICENSE_KEY: "YOUR_LICENSE_KEY"
  124. PROMETHEUS_HOST: https://prometheus.NETMAKER_BASE_DOMAIN
  125. volumes:
  126. caddy_data: {}
  127. caddy_conf: {}
  128. sqldata: {}
  129. dnsconfig: {}
  130. mosquitto_logs: {}
  131. prometheus_data: {}
  132. grafana_data: {}