| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | #!/bin/shset -x[ -z "$SERVER_DOMAIN" ] && echo "Need to set SERVER_DOMAIN (format: 1.2.3.4 or mybackend.com)" && exit 1;install() {docker volume create mongovol && docker run -d --name mongodb -v mongovol:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=mongopass mongo echo "Giving Mongo Time to Start"sleep 10echo "Installing Netmaker API"mkdir -p /etc/netmaker/config/environmentsmkdir -p /etc/netmaker/config/dnsconfigcp ../netmaker /etc/netmaker/netmakerchmod +x /etc/netmaker/netmakercat >/etc/netmaker/config/environments/dev.yaml<<EOLserver:  host: "$SERVER_DOMAIN"  apiport: "8081"  grpcport: "50051"  masterkey: "secretkey"  allowedorigin: "*"  restbackend: true              agentbackend: true  defaultnetname: "default"  defaultnetrange: "10.10.10.0/24"  createdefault: truemongoconn:  user: "mongoadmin"  pass: "mongopass"  host: "127.0.0.1"  port: "27017"  opts: '/?authSource=admin'EOLcat >/etc/netmaker/config/dnsconfig/Corefile<<EOL. {    hosts ./root/netmaker.hosts {	fallthrough	    }    forward . 8.8.8.8 8.8.4.4    log}EOLcat >/etc/systemd/system/netmaker.service<<EOL[Unit]Description=Netmaker ServerAfter=network.target[Service]Type=simpleRestart=on-failureWorkingDirectory=/etc/netmakerExecStart=/etc/netmaker/netmaker[Install]WantedBy=multi-user.targetEOLsystemctl daemon-reloadsystemctl start netmaker.servicesudo docker pull coredns/corednssudo docker pull gravitl/netmaker-ui:v0.3systemctl stop systemd-resolvedsystemctl disable systemd-resolvedecho "Running CoreDNS"sudo docker run -d --name coredns --restart=always --volume=/etc/netmaker/config/dnsconfig/:/root/ -p 53:53/udp coredns/coredns -conf /root/Corefileecho "Running UI"sudo docker run -d --name netmaker-ui -p 80:80 -e BACKEND_URL="http://$SERVER_DOMAIN:8081" gravitl/netmaker-ui:v0.3echo "Setup Complete"}cleanup() {sudo docker kill mongodb || truesudo docker rm mongodb || truesudo docker volume rm mongovol || truesudo docker kill coredns || truesudo docker rm coredns || truesudo docker kill netmaker-ui || truesudo docker rm netmaker-ui || truesudo netclient -c remove -n default || truesudo rm -rf /etc/systemd/system/netmaker.service || truesudo rm -rf /etc/netmaker || truesudo systemctl enable systemd-resolvedsudo systemctl start systemd-resolvedsleep 5sudo systemctl restart systemd-resolved}trap cleanup ERRcleanupinstall
 |