Docker Container mit Synology DSM

Wie benutzt man Docker mit Synology

Synology ab DSM 6.0 kommt mit der Docker Engine. Zu finden ist die Docker App im Paket-Zentrum mit Eingabe docker im Suchfeld.

Docker ist eine schlanke Virtualisierungsanwendung, Tausende von Container erstellt von Entwickler aus der ganzen Welt können ausgeführt werden und sind auf dem bekannten Image-Repository, Docker Hub publiziert. Container Images können aus der Synology integrierten Docker App geladen und ausgeführt werden.

  Wenn die Docker App im Paketzentrum nicht erscheint, wird die Synology DSM Version höchstwahrscheinlich nicht unterstützt.

  Aufgrund der Hardware-Anforderungen wird Docker nur für Modelle mit Virtualisierungstechnik (VT-x) angeboten. Die in dieser Anleitung verwendeten Modelle sind RS818RP+, RS4018xs+ und DS218+ auf diesen Docker ausführbar ist.




Wie benutzt man Docker

Mit dem öffnen des Hauptmenu Symbol aus DSM findet sich das Icon für die Docker Engine die jetzt gestartet werden kann.

Docker öffnet den Überblick, hier sind die laufenden Container aufgeführt, die Anwendungen einschließlich zugewiesenem Speicher und CPU-Ressourcen, es ist jetzt noch kein Container gestartet.

Zusätzlich wird hier im folgenden die Docker Befehlszeile erläutert, diese alternativ für die Docker Console.

CLI   Docker Command Running Container auflisten:

Im Abschnitt Registrierung kann nach neuen Images gesucht werden (wie auf der offiziellen Website). Es können auch neue Repositories (zusätzlich zu den offiziellen) unter Einstellungen hinzugefügt werden.

CLI   Das original Docker Command ist:

Nachdem ein passendes Image (Abbild) gefunden wurde, in diesem Fall ein kleines Ubuntu 18.04 Dockerized SSH service Image, wird es mit einem Rechtsklick auf das Synology NAS herunterladen, am besten immer latest wählen. Alle Images sind schreibgeschützt und können mehrfach für weitere Container verwenden werden.

Das herunterladen kann einige Minuten in Anspruch nehmen, je nach grösse und download Bandbreite. Der Status beim herunterladen wird mit einem animierten Symbol dargestellt.

CLI   Das Docker Command ist:

Unter Abbild befinden sich die heruntergeladenen Images die auf dem Synology NAS verfügbar sind. Es können neue Container mit dem Assistenten Angedockt, gestartet werden. Hinweis: über das Link Symbol öffnet sich die Docker Hub Seite zum Container mit nützlichen Informationen.

CLI   Das Docker Command ist:

Nun auf Starten gehen um den Assistenten zu öffnen.

Auf Weiter um den Assistenten abzuschließen, und mit übernehmen den Container starten.

CLI   Das Docker Command ist:

Der laufende Container ist jetzt im Abschnitt Container zu finden.

CLI   Die vollständige Docker Ausgabe wie folgt:

Zurück in der Docker Übersicht sehen wir nun die Resourcen der gestarteten Container.

CLI   Das Docker Command ist:

Nun versuchen wir ein SSH-Terminal zum Container herzustellen. Dazu sehen wir im Abschnitt Container mit klick auf Details, auf welchem Port der SSH-Dienst horcht.

Im Überblick unter Port-Einstellungen finden wir bei Lokaler Port den gesuchten Wert, in diesem Fall ist es der Port 32789, die Port Adresse wird automatisch zugewiesen.

CLI   Ermitteln der Port Adresse

Jetzt können wir PuTTY oder KiTTY öffnen und Verbinden uns mit der IP des Synology NAS und dem Port 32789 zum Container, für CLI   Das Command wie folgt:

Anmelden mit root und dem Passwort root.

Die Docker Engine kann auch aus der Console genutzt werden, sofern das SSH Terminal unter DSM Systemsteuerung – SSH-Dienst aktiviert wurde.

Die in diesem Artikel gezeigte Anwendung von Docker soll als einfaches Beispiel darstellen, wie Docker auf einem Synology NAS anwendbar ist, natürlich gibt es nützlichere Container Anwendungen, wie Websever für das Entwickeln von Webanwendungen bis hin zu kompletten Entwicklungsumgebungen, es existieren bereits unzählige Docker Images auf Docker Hub https://hub.docker.com, und weiteren Docker Registraren. Dabei fragt mach sich schon, ob der Aufwand zur Installation seiner Entwicklerumgebung wie Xamp oder LAMP überhaupt noch zweckmäßig ist. An dieser stelle sein noch erwähnt, das alle Daten die im Container gespeichert werden, auf einem persistenten Volumen gespeichert werden müssen, denn mit beenden des Containers sind sämtliche arbeiten verloren.

Auch gibt es weitere Artikel zur Anwendung von Docker hier im Think Tank Blog, am besten einfach docker ins Suchfeld oben eingeben.

 

E-Mail Verschlüsselung mit PGP und S/MIME

OpenPGP zum Verschlüsseln und Signieren von E-Mails mit Outlook in Windows 10

Verschlüsselte E-Mails zum Schutz der Privatsphäre sollte zur Selbstverständlichkeit gehören, um die Authentizität der Absender und die Unveränderlichkeit zu garantieren, wie verschlüsselte Webseiten über Transport Layer Security (TLS) heute fast überall der Standard ist, vor allem dank der freien und offenen X.509-Zertifizierungsstelle, Let’s Encrypt was kostenlos und einfach auf vielen Plattformen implementiert werden kann. Zum Verschlüsseln und Signieren von E-Mails, Dateien und Ordnern unter Windows bietet sich Gpg4win (GNU Privacy Guard for Windows) an, eine freie Software die mit nur wenigen Mausklicks installiert werden kann.

  OpenPGP ist der am häufigste verwendete E-Mail-Verschlüsselungsstandard mit asymmetrischen Schlüsseln. OpenPGP wird von der Arbeitsgruppe der Internet Engineering Task Force (IETF) als vorgeschlagener Standard in RFC 4880 definiert.

INSTALLATION

Voraussetzung ist ein Windows 10 und Microsoft Outlook 2010, 2013, 2016 oder 2019 (32bit oder 64bit). Die in dieser Anleitung in Anwendung gebrachte Gpg4win Software kann hier herunter-geladen werden. Die Installation ist unspektakulär und vollzieht sich mit wenigen Maus klickst.

Nach dem Gpg4win auf dem Windows 10 Computer Installiert ist, findet sich das Outlook-Plugin GpgOL im Outlook Ribbon.

Weiter findet sich die Schlüsselverwaltung Kleopatra unter dem Start Programme Menü, aus diesem man sich erst ein Schlüsselpaar generieren lässt. Nach erzeugen eines Schlüsselpaares, dem privaten geheimen Schlüssel, kann der öffentliche Schlüssel den Empfängern bekannt gegeben werden. Es handelt sich hier um sogenannte asymmetrische Schlüssel.

Hat man eine eigene Webseite, empfiehlt es sich der öffentliche Schlüssel darauf zu publizieren, beispielsweise zur E-Mail in der Kontaktseite. Aus Kleopatra wird mit einem rechts klick über seiner E-Mail Adresse das Kontextmenü geöffnet, darin wählt man Exportieren, oder über die Option Details.

Der in der asc-Datei exportierte öffentliche Schlüssel kann in Notepad geöffnet werden, den Inhalt mit Copy & Paste in ein E-Mail einfügen, oder als Anlage an den Empfänger versenden, mit diesem man verschlüsselte E-Mail austauschen möchte. Grundsätzliche kann man mit jedem E-Mail Empfänger verschlüsselt kommunizieren, sobald Absender und Empfänger ihre PGP Public Keys untereinander ausgetauscht haben, und die E-Mail in Kleopatra beglaubigt wurde, können E-Mails untereinander entschlüsselt werden.

Beim verfassen einer Nachricht die Signiert und verschlüsselt werden soll, klickt man die Option Absichern im Outlook Ribbon.

Für Nutzer von Thunderbird gibt es das Enigmail Add-on, dieses hier heruntergeladen werden kann. Enigmail ist ein nahtlos integriertes Sicherheits-Add-on für Mozilla Thunderbird. Es verwendet OpenPGP um E-Mails zu verschlüsseln und digital zu signieren sowie empfangene Nachrichten zu entschlüsseln und zu überprüfen.

LINUX GnuPG

Für GNU/Linux basierte Systeme kann direkt GnuPG über den Paketmanager installiert werden.

Unter MacOS X kann die GPG Suite verwendet werden.

Generating a new SSH key use for Github

Howto deploy SSH Key authentication for Github with using VS Code Editor

After looking for an adequate solution in the word wide web, I came to the following workaround, which I describe here. I developing in VS Code on Windows 10 and don’t want to run commit and push in the Git Bash terminal again and again, especially because VS Code comes out of the box with all of the Git skills include.

Let’s get started, if you not allready have Git for Windows on your Windows 10, you have to download here.

First open Git Bash and go to directory ~/.ssh, if it’s not exist you can create in windows explorer under the users home path, or mkdir .ssh in Git bash.

A key pair as privat and public key are generated, a passphrase you can leave but keep the key on a safe place, the command clip copies the public key to the clipboard, which will be saved to Github account in the next step.

Go to Github and sign in with your account, open profile in the upper right corner, navigate to Settings and click SSH and GPG keys, click New SSH key, paste the public key into the key field, for title you can enter your.email@domain.com.

Now ready to go back to Git bash and enter the following commands, with option -T the host is entered in known_hosts, here you have to confirm with yes, the command git push authorized on Github by use the key in ~/.ssh/id_rsa.

place instead of account your github account, and for my_project the name of your project you deploying.

Now open directory out from Git bash with VS Code.

VS Code Editor offers git commands via the main toolbar and the icon menu.

e-Mail senden mit cURL

cURL unterstützt das Senden von Daten an einen SMTP-Server

cURL sendet in Kombination mit Befehlszeilenoptionen eine E-Mail an einen Empfänger. Ursprünglich stand der Name für „see URL“ und wurde erst später zum aktuellen Backronym cURL umgedeutet.

Der grundlegende Befehl zum Senden einer E-Mail mit cURL.

Beispiel Anwendung von cURL SMTP im Terminal-Emulator:

Es folgt die Ausgabe im Terminal:

Durch den Parameter -v wird die verbose Ausgabe erzeugt.

Die Datei email.txt wird von cURL zum SMTP-Relay hochgeladen und versendet.

Der Inhalt von email.txt, die Zeilen From, To, Subject und Date sind Datenfelder, diese dem Simple Mail Transfer Protocol dient.

  Der Mail Transfer Agent (MTA) muss so konfiguriert sein, das Mails von dem Host akzeptiert werden, auf diesem cURL eingesetzt wird, falls es nicht selber ein MTA ist, muss eine direktive bei smtpd_sender_restrictions, b.z.w. smtpd_client_restrictions konfiguriert werden.