Menu

Pflegebot Teil 3 – Server

3. Juni 2017 - Docker, Pflege-Bot

Server

Nach Strukturierung der Vorgehens weise wurde klar, dass der Bot erstmal eine Heimat braucht. Da der Pflegebot aber erstmal ’nur‘ ein Hobby Projekt ist möchten wir auch nicht so viel Geld ausgeben, also wurde ein günstiger vServer mit Standort in Deutschland angemietet. Die Kosten belaufen sich auf €6,62 (incl. MwSt.), dafür gibt es 4Gig Ram und 2 Kerne, das sollte zum Basteln erstmal reichen.

Docker und Verschlüsselung

Das komplette System wird auf Docker Container aufgesetzt. Dadurch ist ein einfacher Umzug gewährleistet, wenn der Server zu klein wird. Docker legt seine Volumes in /var/lib/docker/volumes ad. Die Container werden so konfiguriert, dass die Daten, welche auch persönliche Daten des Nutzers und Gesundheitsdaten enthalten können in ’named volumes‘ in diesem Ordner abgelegt werden. Der ganze Ordner wird mit  ecryptfs verschlüsselt. Jetzt kann auch der Provider des vServers selber nicht mehr auf die zu schützenden Daten auf dem Laufwerk zugreifen. Dadurch das ein vServer und kein echter Server benutzt wird, hat der Provider, also der Betreiber der Virtualisierung noch Zugriff auf den RAM des Systems, wo die Daten unverschlüsselt vorliegen. Wenn der Bot also richtig live geht ist ein echter Server unumgänglich.

Der Haken bei der Verschlüsselung ist nun ein Neustart des Servers. Der Schlüssel liegt natürlich bei mir und der muss erstmal händisch eingegeben werden (also copy and paste in der Konsole), um den Ordner benutzbar zu machen. Auch darf bei einem Neustart Docker nicht starten, da Docker ohne entschlüsseltem /var/lib/docker/volumes Ordner nicht starten kann.  Ein Aufruf von `systemctl disable docker` hat bei mir geholfen.

Registry

Es werden natürlich einige selbstgebaute Docker-Images benötigt, dazu sollte auf dem Server eine Registry laufe. Diese soll erstmal nicht aus dem Internet oder von anderen Servern erreichbar, eine lokale Installation reicht in der ersten Ausbaustufe komplett aus:

docker run -d -p 127.0.0.1:5000:5000 -v /home/docker/data/registry/:/var/lib/registry --name:registry registry:2

Wobei hier zu sehen ist, dass ich auf dem Server einen User ‚docker‘ angelegt habe. Das Home-Verzsichnis beutze ich, für die Docker Konfiguration, in diesem Falle aber auch für Daten. Der Grund ist das Verschlüsselte /var/lib/docker/volumes Verzeichnis. Die Images beinhalten keine sensiblen Daten und müssen nicht verschlüsselt werden, dies soll Rechenzeit sparen, da Images auch nicht immer klein sind.

Nginx

Es kommt ein selbstgebauter nginx zum Einsatz, welcher auch einen Certbot für Let’s Encrypt besitzt. Dadurch können die Domains auf welche der nginx lauscht schnell über https mit validen Zertifikaten geschützt werden. Somit ist eine verschlüsselte Kommunikation über das Internet mit dem Bot gewährleistet.

server {
 listen 80;
 server_name *.pflegebot.com pflegebot.com;
 return 301 https://pflegebot.com$request_uri;
}

Diese direktive für den nginx gewährleistet, dass ein Versuch die Domain des Bots über eine ungesicherte Verbindung zu erreichen, auf eine gesicherte Verbindung umgeleitet wird.

Die Architektur für den Server / das Docker setup ist so angedacht, dass der nginx alle Anfragen entgegen nimmt und auf die verschiedenen Services im Hintergrund verteilt.

Domain

Neben einer physischen Heimat auf dem Server braucht der Bot auch eine Webseite. Natürlich gibt es schon eine Facebook Seite, welche für den Begriff ‚Pflegebot‘ schon einen guten Pagerank (=3) bei Google hat.

Von daher soll die Domain auch diesen Namen (der eigentlich ja nur ein Arbeitsname ist) haben. Die .de ist natürlich ein Sedo Parking, aber die .com ist noch frei. Also die .com registrieren und eine WordPress Seite bauen.

Die Domain wird benötigt, um natürlich einmal den Bot zu präsentieren, aber auch für die Datenschutzerklärungen usw. für die Verschiedenen Implementationen von Kommunikationskanälen bereit zu halten.

Die Domain soll auch zur technischen Implementierung genutzt werden.

 

 

One thought on “Pflegebot Teil 3 – Server

  • Pingback: Pflegebot – Teil 4 – WordPress und Docker | Steffens Blog

  • Comments are closed.