docker-compose.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:v0.17.0
  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. BROKER_NAME: "broker.NETMAKER_BASE_DOMAIN"
  22. SERVER_NAME: "NETMAKER_BASE_DOMAIN"
  23. STUN_DOMAIN: "stun.NETMAKER_BASE_DOMAIN"
  24. SERVER_HOST: "SERVER_PUBLIC_IP"
  25. SERVER_API_CONN_STRING: "api.NETMAKER_BASE_DOMAIN:443"
  26. COREDNS_ADDR: "SERVER_PUBLIC_IP"
  27. DNS_MODE: "on"
  28. SERVER_HTTP_HOST: "api.NETMAKER_BASE_DOMAIN"
  29. API_PORT: "8081"
  30. CLIENT_MODE: "on"
  31. MASTER_KEY: "REPLACE_MASTER_KEY"
  32. CORS_ALLOWED_ORIGIN: "*"
  33. DISPLAY_KEYS: "on"
  34. DATABASE: "sqlite"
  35. NODE_ID: "netmaker-server-1"
  36. MQ_HOST: "mq"
  37. MQ_PORT: "443"
  38. MQ_SERVER_PORT: "1883"
  39. HOST_NETWORK: "off"
  40. VERBOSITY: "1"
  41. MANAGE_IPTABLES: "on"
  42. PORT_FORWARD_SERVICES: "dns"
  43. MQ_ADMIN_PASSWORD: "REPLACE_MQ_ADMIN_PASSWORD"
  44. STUN_PORT: "3478"
  45. PROXY: "on"
  46. ports:
  47. - "51821-51830:51821-51830/udp"
  48. - "3478:3478/udp"
  49. netmaker-ui:
  50. container_name: netmaker-ui
  51. image: gravitl/netmaker-ui:v0.17.0
  52. depends_on:
  53. - netmaker
  54. links:
  55. - "netmaker:api"
  56. restart: always
  57. environment:
  58. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  59. caddy:
  60. image: caddy:2.6.2
  61. container_name: caddy
  62. restart: unless-stopped
  63. volumes:
  64. - /root/Caddyfile:/etc/caddy/Caddyfile
  65. - caddy_data:/data
  66. - caddy_conf:/config
  67. ports:
  68. - "80:80"
  69. - "443:443"
  70. coredns:
  71. container_name: coredns
  72. image: coredns/coredns
  73. command: -conf /root/dnsconfig/Corefile
  74. depends_on:
  75. - netmaker
  76. restart: always
  77. volumes:
  78. - dnsconfig:/root/dnsconfig
  79. mq:
  80. container_name: mq
  81. image: eclipse-mosquitto:2.0.15-openssl
  82. depends_on:
  83. - netmaker
  84. restart: unless-stopped
  85. command: ["/mosquitto/config/wait.sh"]
  86. environment:
  87. NETMAKER_SERVER_HOST: "https://api.NETMAKER_BASE_DOMAIN"
  88. volumes:
  89. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  90. - /root/wait.sh:/mosquitto/config/wait.sh
  91. - mosquitto_data:/mosquitto/data
  92. - mosquitto_logs:/mosquitto/log
  93. ports:
  94. - "1883:1883"
  95. - "8883:8883"
  96. volumes:
  97. caddy_data: {}
  98. caddy_conf: {}
  99. sqldata: {}
  100. dnsconfig: {}
  101. mosquitto_data: {}
  102. mosquitto_logs: {}