123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #!/bin/sh
- set -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 10
- echo "Installing Netmaker API"
- mkdir -p /etc/netmaker/config/environments
- mkdir -p /etc/netmaker/config/dnsconfig
- cp ../netmaker /etc/netmaker/netmaker
- chmod +x /etc/netmaker/netmaker
- cat >/etc/netmaker/config/environments/dev.yaml<<EOL
- server:
- host: "$SERVER_DOMAIN"
- apiport: "8081"
- grpcport: "50051"
- masterkey: "secretkey"
- allowedorigin: "*"
- restbackend: true
- agentbackend: true
- defaultnetname: "default"
- defaultnetrange: "10.10.10.0/24"
- createdefault: true
- mongoconn:
- user: "mongoadmin"
- pass: "mongopass"
- host: "127.0.0.1"
- port: "27017"
- opts: '/?authSource=admin'
- EOL
- cat >/etc/netmaker/config/dnsconfig/Corefile<<EOL
- . {
- hosts ./root/netmaker.hosts {
- fallthrough
- }
- forward . 8.8.8.8 8.8.4.4
- log
- }
- EOL
- cat >/etc/systemd/system/netmaker.service<<EOL
- [Unit]
- Description=Netmaker Server
- After=network.target
- [Service]
- Type=simple
- Restart=on-failure
- WorkingDirectory=/etc/netmaker
- ExecStart=/etc/netmaker/netmaker
- [Install]
- WantedBy=multi-user.target
- EOL
- systemctl daemon-reload
- systemctl start netmaker.service
- sudo docker pull coredns/coredns
- sudo docker pull gravitl/netmaker-ui:v0.3
- systemctl stop systemd-resolved
- systemctl disable systemd-resolved
- echo "Running CoreDNS"
- sudo docker run -d --name coredns --restart=always --volume=/etc/netmaker/config/dnsconfig/:/root/ -p 53:53/udp coredns/coredns -conf /root/Corefile
- echo "Running UI"
- sudo docker run -d --name netmaker-ui -p 80:80 -e BACKEND_URL="http://$SERVER_DOMAIN:8081" gravitl/netmaker-ui:v0.3
- echo "Setup Complete"
- }
- cleanup() {
- sudo docker kill mongodb || true
- sudo docker rm mongodb || true
- sudo docker volume rm mongovol || true
- sudo docker kill coredns || true
- sudo docker rm coredns || true
- sudo docker kill netmaker-ui || true
- sudo docker rm netmaker-ui || true
- sudo netclient -c remove -n default || true
- sudo rm -rf /etc/systemd/system/netmaker.service || true
- sudo rm -rf /etc/netmaker || true
- sudo systemctl enable systemd-resolved
- sudo systemctl start systemd-resolved
- sleep 5
- sudo systemctl restart systemd-resolved
- }
- trap cleanup ERR
- cleanup
- install
|