docker-compose.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. VERBOSITY: "1"
  28. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  29. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  30. STUN_PORT: "3478"
  31. DEFAULT_PROXY_MODE: "off"
  32. TURN_SERVER_HOST: "turn.NETMAKER_BASE_DOMAIN"
  33. TURN_SERVER_API_HOST: "https://turnapi.NETMAKER_BASE_DOMAIN"
  34. TURN_PORT: "3479"
  35. TURN_USERNAME: "REPLACE_TURN_USERNAME"
  36. TURN_PASSWORD: "REPLACE_TURN_PASSWORD"
  37. USE_TURN: "true"
  38. ports:
  39. - "3478:3478/udp"
  40. netmaker-ui:
  41. container_name: netmaker-ui
  42. image: gravitl/netmaker-ui:REPLACE_UI_IMAGE_TAG
  43. depends_on:
  44. - netmaker
  45. links:
  46. - "netmaker:api"
  47. restart: always
  48. environment:
  49. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  50. caddy:
  51. image: caddy:2.6.2
  52. container_name: caddy
  53. restart: unless-stopped
  54. extra_hosts:
  55. - "host.docker.internal:host-gateway"
  56. volumes:
  57. - /root/Caddyfile:/etc/caddy/Caddyfile
  58. - caddy_data:/data
  59. - caddy_conf:/config
  60. ports:
  61. - "80:80"
  62. - "443:443"
  63. coredns:
  64. container_name: coredns
  65. image: coredns/coredns
  66. command: -conf /root/dnsconfig/Corefile
  67. depends_on:
  68. - netmaker
  69. restart: always
  70. volumes:
  71. - dnsconfig:/root/dnsconfig
  72. mq:
  73. container_name: mq
  74. image: eclipse-mosquitto:2.0.15-openssl
  75. depends_on:
  76. - netmaker
  77. restart: unless-stopped
  78. command: ["/mosquitto/config/wait.sh"]
  79. environment:
  80. MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
  81. MQ_USERNAME: "REPLACE_MQ_USERNAME"
  82. volumes:
  83. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  84. - /root/wait.sh:/mosquitto/config/wait.sh
  85. - mosquitto_logs:/mosquitto/log
  86. turn:
  87. container_name: turn
  88. image: gravitl/turnserver:v1.0.0
  89. network_mode: "host"
  90. volumes:
  91. - turn_server:/etc/config
  92. environment:
  93. DEBUG_MODE: "off"
  94. VERBOSITY: "1"
  95. TURN_PORT: "3479"
  96. TURN_API_PORT: "8089"
  97. CORS_ALLOWED_ORIGIN: "*"
  98. TURN_SERVER_HOST: "turn.NETMAKER_BASE_DOMAIN"
  99. USERNAME: "REPLACE_TURN_USERNAME"
  100. PASSWORD: "REPLACE_TURN_PASSWORD"
  101. volumes:
  102. caddy_data: {}
  103. caddy_conf: {}
  104. sqldata: {}
  105. dnsconfig: {}
  106. mosquitto_logs: {}
  107. turn_server: {}