docker-compose.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:v0.13.1
  6. volumes:
  7. - dnsconfig:/root/config/dnsconfig
  8. - sqldata:/root/data
  9. - /root/certs:/etc/netmaker/
  10. cap_add:
  11. - NET_ADMIN
  12. - NET_RAW
  13. - SYS_MODULE
  14. sysctls:
  15. - net.ipv4.ip_forward=1
  16. - net.ipv4.conf.all.src_valid_mark=1
  17. - net.ipv6.conf.all.disable_ipv6=0
  18. - net.ipv6.conf.all.forwarding=1
  19. restart: always
  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. HOST_NETWORK: "off"
  36. VERBOSITY: "1"
  37. PORT_FORWARD_SERVICES: "dns"
  38. MANAGE_IPTABLES: "on"
  39. ports:
  40. - "51821-51830:51821-51830/udp"
  41. - "8081:8081"
  42. netmaker-ui:
  43. container_name: netmaker-ui
  44. depends_on:
  45. - netmaker
  46. image: gravitl/netmaker-ui:v0.13.1
  47. links:
  48. - "netmaker:api"
  49. ports:
  50. - "8082:80"
  51. environment:
  52. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  53. restart: always
  54. coredns:
  55. depends_on:
  56. - netmaker
  57. image: coredns/coredns
  58. command: -conf /root/dnsconfig/Corefile
  59. container_name: coredns
  60. restart: always
  61. volumes:
  62. - dnsconfig:/root/dnsconfig
  63. caddy:
  64. image: caddy:latest
  65. container_name: caddy
  66. restart: unless-stopped
  67. network_mode: host # Wants ports 80 and 443!
  68. volumes:
  69. - /root/Caddyfile:/etc/caddy/Caddyfile
  70. # - $PWD/site:/srv # you could also serve a static site in site folder
  71. - caddy_data:/data
  72. - caddy_conf:/config
  73. mq:
  74. image: eclipse-mosquitto:2.0.11-openssl
  75. depends_on:
  76. - netmaker
  77. container_name: mq
  78. restart: unless-stopped
  79. ports:
  80. - "127.0.0.1:1883:1883"
  81. - "8883:8883"
  82. volumes:
  83. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  84. - /root/certs/:/mosquitto/certs/
  85. - mosquitto_data:/mosquitto/data
  86. - mosquitto_logs:/mosquitto/log
  87. volumes:
  88. caddy_data: {}
  89. caddy_conf: {}
  90. sqldata: {}
  91. dnsconfig: {}
  92. mosquitto_data: {}
  93. mosquitto_logs: {}