Erst mal ein paar Sachen zum Server: ich habe ihn gestern nach der Anleitung auf https://docs.netmaker.org/quick-start.html (nicht die 5-Minuten Installation) mit eigener Domain und standalone auf einem VPS 200 G10s installiert. Vorab: der kleinste reicht völlig aus, denn die CPU Last ist minimal bis nicht vorhanden, das RAM reicht auch (Minimum Requirements: 1 core (zwei sicher besser), 2 GB RAM für "production environments" und 2GB Speicher).
Es wird empfohlen, den Server nicht in eine vorhandene Dockerinstallation zu integrieren, sondern separat zu installieren, da dieser sonst das Docker Netzwerk der anderen Container durcheinanderbringen kann.
Nur wenn man den Netmaker Server auch als Relay oder Gateway ins Internet oder von außen in ein Netz verwendet, ist die Netzwerkbandbreite relevant, da dann der Traffic über den Server geht. Wenn man standardmäßig einfach nur Mesh macht, geht bei Kommunikation zwischen Partnern untereinander gar kein Traffic über den Server, dieser dient dann nur der Konfig der Partner Netmakerinstallationen.
Meine Installationsroutine mit ein paar Anmerkungen:
apt-get update
#anfängliche Installation von Docker, Compose und Wireguard
apt-get install -y docker.io docker-compose wireguard
ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p'
#(Wildcard) Domain und Server IP eintragen, eMail eintragen
wget -O docker-compose.yml https://raw.githubusercontent.com/gravitl/netmaker/master/compose/docker-compose.yml
sed -i 's/NETMAKER_BASE_DOMAIN/deinedomain.de/g' docker-compose.yml
sed -i 's/SERVER_PUBLIC_IP/123.123.123.123/g' docker-compose.yml
sed -i 's/YOUR_EMAIL/vorname.nachname@domain.tld/g' docker-compose.yml
#deinedomain.de durch eine andere (Sub)Domain ersetzen, die auf die IP des Servers zeigt (DNS Server konfigurieren: am Besten unter der Basedomain einen Catchall Eintrag anlegen: *.domain.tld oder *.sub.domain.tld, der auf die IP des Servers zeigt). Es geht ergo auch sub.deinedomain.de, dann werden die, von NM verwendeten Subdomains darunter angelegt -> z.B. dashboard.sub.deinedomain.de. Ich habe mir hierfür eine eigenständige Domain geholt, die für nichts anderes verwendet wird. Welche Subdomains für NM erstellt werden, stehen im docker-compose.yml.
#Statt 123.123.123.123 die IP des eigenen Servers eintragen
#Statt vorname.nachname@domain.tld die eigene Mailadresse eintragen
#Master Key erstellen, ABSICHERN! Für spätere API Nutzung, aktuell gibt es wohl noch keine.
tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo ''
#erstellt einen langen random String, diesen in die nächste Zeile statt "STRING_HIER" eintragen und abspeichern
sed -i 's/REPLACE_MASTER_KEY/STRING_HIER/g' docker-compose.yml
#Mosquitto Config herunterladen
wget -O /root/mosquitto.conf https://raw.githubusercontent.com/gravitl/netmaker/master/docker/mosquitto.conf
#Das docker-compose File erwartet die .conf im Ordner /root/, daher sollte hier entweder nichts geändert oder zusätzlich auch das compose File geändert werden
# NM Start:
docker-compose up -d
Alles anzeigen
Nun sollte unter https://dashboard.domain.tld oder https://dashboard.sub.domain.tld das SSL gesicherte Dashboard zum Anlegen eines Admins auffordern. Das sollte man natürlich gleich machen.
NM ist ziemlich auf die Verwendung mit Linux ausgelegt, die Installation des Windows Clients ist etwas "hakelig". Dazu in einem separaten Post mehr (sobald ich Zeit habe und wenn das Interesse da ist).