docker-compose.contained.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. version: "3.4"
  2. services:
  3. netmaker:
  4. container_name: netmaker
  5. image: gravitl/netmaker:v0.10.0
  6. volumes:
  7. - dnsconfig:/root/config/dnsconfig
  8. - /usr/bin/wg:/usr/bin/wg
  9. - sqldata:/root/data
  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. restart: always
  18. environment:
  19. SERVER_HOST: "SERVER_PUBLIC_IP"
  20. SERVER_API_CONN_STRING: "api.NETMAKER_BASE_DOMAIN:443"
  21. SERVER_GRPC_CONN_STRING: "grpc.NETMAKER_BASE_DOMAIN:443"
  22. COREDNS_ADDR: "SERVER_PUBLIC_IP"
  23. GRPC_SSL: "on"
  24. DNS_MODE: "on"
  25. SERVER_HTTP_HOST: "api.NETMAKER_BASE_DOMAIN"
  26. SERVER_GRPC_HOST: "grpc.NETMAKER_BASE_DOMAIN"
  27. API_PORT: "8081"
  28. GRPC_PORT: "50051"
  29. CLIENT_MODE: "on"
  30. MASTER_KEY: "REPLACE_MASTER_KEY"
  31. CORS_ALLOWED_ORIGIN: "*"
  32. DISPLAY_KEYS: "on"
  33. DATABASE: "sqlite"
  34. NODE_ID: "netmaker-server-1"
  35. HOST_NETWORK: "off"
  36. MANAGE_IPTABLES: "on"
  37. PORT_FORWARD_SERVICES: "dns"
  38. VERBOSITY: "1"
  39. ports:
  40. - "51821-51830:51821-51830/udp"
  41. - "8081:8081"
  42. - "50051:50051"
  43. netmaker-ui:
  44. container_name: netmaker-ui
  45. depends_on:
  46. - netmaker
  47. image: gravitl/netmaker-ui:v0.9.3
  48. links:
  49. - "netmaker:api"
  50. ports:
  51. - "8082:80"
  52. environment:
  53. BACKEND_URL: "https://api.NETMAKER_BASE_DOMAIN"
  54. restart: always
  55. coredns:
  56. depends_on:
  57. - netmaker
  58. image: coredns/coredns
  59. command: -conf /root/dnsconfig/Corefile
  60. container_name: coredns
  61. restart: always
  62. volumes:
  63. - dnsconfig:/root/dnsconfig
  64. caddy:
  65. image: caddy:latest
  66. container_name: caddy
  67. restart: unless-stopped
  68. network_mode: host # Wants ports 80 and 443!
  69. volumes:
  70. - /root/Caddyfile:/etc/caddy/Caddyfile
  71. # - $PWD/site:/srv # you could also serve a static site in site folder
  72. - caddy_data:/data
  73. - caddy_conf:/config
  74. mosquitto:
  75. image: eclipse-mosquitto:2.0.14
  76. container_name: broker
  77. restart: unless-stopped
  78. network_mode: host
  79. volumes:
  80. - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
  81. - mosquitto_data:/mosquitto/data
  82. - mosquitto_logs:/mosquitto/log
  83. volumes:
  84. caddy_data: {}
  85. caddy_conf: {}
  86. sqldata: {}
  87. dnsconfig: {}
  88. mosquitto_data: {}
  89. mosquitto_logs: {}