Last active
September 10, 2023 23:27
-
-
Save Platypuschan/334e0737348fb5dd935bb48531403a54 to your computer and use it in GitHub Desktop.
docker-compose.yml for netmaker npm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.4" | |
services: | |
netmaker: | |
container_name: netmaker | |
image: gravitl/netmaker:$SERVER_IMAGE_TAG | |
env_file: ./netmaker.env | |
restart: always | |
volumes: | |
- dnsconfig:/root/config/dnsconfig | |
- sqldata:/root/data | |
environment: | |
# config-dependant vars | |
- STUN_LIST=stun.${NM_DOMAIN}:${STUN_PORT},stun1.netmaker.io:3478,stun2.netmaker.io:3478,stun1.l.google.com:19302,stun2.l.google.com:19302 | |
# The domain/host IP indicating the mq broker address | |
- BROKER_ENDPOINT=wss://broker.${NM_DOMAIN} | |
# The base domain of netmaker | |
- SERVER_NAME=${NM_DOMAIN} | |
- SERVER_API_CONN_STRING=api.${NM_DOMAIN}:443 | |
# Address of the CoreDNS server. Defaults to SERVER_HOST | |
- COREDNS_ADDR=${SERVER_HOST} | |
# Overrides SERVER_HOST if set. Useful for making HTTP available via different interfaces/networks. | |
- SERVER_HTTP_HOST=api.${NM_DOMAIN} | |
# domain for your turn server | |
- TURN_SERVER_HOST=turn.${NM_DOMAIN} | |
# domain of the turn api server | |
- TURN_SERVER_API_HOST=https://turnapi.${NM_DOMAIN} | |
ports: | |
- "3478:3478/udp" | |
netmaker-ui: | |
container_name: netmaker-ui | |
image: gravitl/netmaker-ui:$UI_IMAGE_TAG | |
env_file: ./netmaker.env | |
environment: | |
# config-dependant vars | |
# URL where UI will send API requests. Change based on SERVER_HOST, SERVER_HTTP_HOST, and API_PORT | |
BACKEND_URL: "https://api.${NM_DOMAIN}" | |
depends_on: | |
- netmaker | |
links: | |
- "netmaker:api" | |
restart: always | |
nginx: | |
image: jc21/nginx-proxy-manager | |
container_name: nginx | |
restart: unless-stopped | |
extra_hosts: | |
- "host.docker.internal:host-gateway" | |
volumes: | |
- nginx_data:/data | |
- nginx_certs:/etc/letsencrypt | |
ports: | |
- "80:80" | |
- "81:81" | |
- "443:443" | |
coredns: | |
container_name: coredns | |
image: coredns/coredns:1.10.1 | |
command: -conf /root/dnsconfig/Corefile | |
env_file: ./netmaker.env | |
depends_on: | |
- netmaker | |
restart: always | |
volumes: | |
- dnsconfig:/root/dnsconfig | |
mq: | |
container_name: mq | |
image: eclipse-mosquitto:2.0.15-openssl | |
env_file: ./netmaker.env | |
depends_on: | |
- netmaker | |
restart: unless-stopped | |
command: [ "/mosquitto/config/wait.sh" ] | |
volumes: | |
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf | |
- ./wait.sh:/mosquitto/config/wait.sh | |
- mosquitto_logs:/mosquitto/log | |
- mosquitto_data:/mosquitto/data | |
turn: | |
container_name: turn | |
image: gravitl/turnserver:v1.0.0 | |
env_file: ./netmaker.env | |
environment: | |
# config-dependant vars | |
- USERNAME=${TURN_USERNAME} | |
- PASSWORD=${TURN_PASSWORD} | |
# domain for your turn server | |
- TURN_SERVER_HOST=turn.${NM_DOMAIN} | |
network_mode: "host" | |
volumes: | |
- turn_server:/etc/config | |
restart: always | |
volumes: | |
nginx_data: { } # runtime data for nginx | |
nginx_certs: { } # certificate files for nginx | |
sqldata: { } | |
dnsconfig: { } # storage for coredns | |
mosquitto_logs: { } # storage for mqtt logs | |
mosquitto_data: { } # storage for mqtt data | |
turn_server: { } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment