Mal etwas, das nichts mit dem Lab zu tun hat: mein IRC-Client. Ich nutze seit Jahren
WeeChat
, und wie bei fast allem auf meinen Maschinen gilt auch hier — nichts wird von Hand zusammengeklickt, alles ist reproduzierbar. WeeChat samt Konfiguration kommt deshalb aus einem
Home-Manager
-Modul und verbindet sich ausschließlich mit meinem Bouncer.
WeeChat als Nix-Modul
Der Client soll auf jeder meiner Maschinen identisch dastehen — gleiche Plugins, gleiche Skripte, gleiche Tastenbelegung. Genau dafür ist Nix gemacht. Mein Modul baut WeeChat über pkgs.weechat.override mit exakt den Bausteinen, die ich brauche, und nicht mehr:
weechat = pkgs.weechat.override {
configure = { availablePlugins, ... }: {
plugins = [ (availablePlugins.python.withPackages (_ps: [ ])) ];
scripts = with pkgs.weechatScripts; [ autosort weechat-grep ];
};
};
Das Python-Plugin und die beiden Skripte —
autosort
zum automatischen Einsortieren der Buffer und weechat-grep zum Durchsuchen der Logs — sind damit Teil des Build-Outputs, nicht etwas, das ich nach der Installation noch nachziehen müsste.
Vor einiger Zeit kam ich mit der - doch recht zeitintensiven - Pflege meines Mailserver-Setups nicht mehr nach und
so entschloss ich mich diese Bürde in professionelle Hände abzugeben.
Natürlich vertraue ich mein - mittlerweile - recht umfangreiches E-Mail Archiv nicht jedem dahergelaufenen Provider an.
Nein! Selbstverständlich muss dieser höchsten Ansprüchen genügen.
Was lag also näher, als diese Aufgabe an
Posteo
abzutreten - einem
deutschen E-Mailanbieter mit Sitz in Berlin und zudem Arbeitgeber eines Freundes. Hauptaugenmerk dort liegt auf
Sicherheit, Datenschutz und Nachhaltigkeit. Der Dienst ist zwar nicht kostenlos, aber günstig und zudem werbefrei.
Selbst das Mailserver-Setup, natürlich bestehend aus Open Source Software, entspricht in etwa dem vormals von mir verwendeten.
Wunderbar, also nichts wie rüber migriert!
Leider gibt es einen kleinen Haken, Posteo bietet - aus
gutem
- Grund
keine Unterstützung für kundenspezifischen Domains an. Wie das allerdings doch möglich ist, erkläre ich nachfolgend..
Heute hatte ich nach einer BIOS-, bzw. UEFI-Aktualisierung meines Mainboards ein unerwartetes Problem;
alle meine EFI-Booteinträge wurden zurückgesetzt. Selbstverständlich hatte ich kein (freies) Medium zur Hand, von dem
ich entweder eine Live-Linux Umgebung oder eine EFI-Shell hätte booten können.
Glücklicherweise bringen die meisten UEFIs heutzutage eine gute Unterstützung für
PXE
(Preboot eXecution Environment),
bzw.
iPXE
mit.
Hierfür muss dann im BIOS oder UEFI lediglich der Netzwerkstack aktiviert und der richtige Booteintrag ausgewählt werden.
PXE-Server
Mit
Pixiecore
gibt es eine all-in-one
Lösung, um schnell einen PXE-Server bereitzustellen.
Für die Installation unter Archlinux steht ein
AUR-Paket
bereit.
Wichtig: Damit PXE, DHCP und TFTP funktionieren, müssen die unten genannten Ports in der Firewall freigegeben werden!
| Protokoll | Port | Benötigt? |
|---|
| DHCP | UDP/67:68 | Ja |
| TFTP | UDP/69 | Ja |
| PXE | UDP/4011 | Ja |
| HTTP | TCP/80 | Nein |
In dem
entsprechenden Artikel
im Archlinux Wiki steht beschrieben, wie man den quick Parameter verwenden, um direkt den Archlinux Kernel zu laden:
MinIO
ist ein offenes,
AWS/S3
API kompatibles
Object-Storage
System, welches hervorragend dazu geeignet ist, in Kubernetes betrieben zu werden.
Die Installation einer produktionsreifen Konfiguration gestaltet sich äußerst einfach.
Die einzigen beiden Voraussetzungen sind der Zugriff auf einen Kubernetes Cluster und
HELM
(in Version 3).
Sollte der Cluster noch nicht bereit stehen, kannst du natürlich Minikube verwenden oder dir einmal
k3s
ansehen, damit kann
man in wenigen Sekunden einen schlüsselfertigen Single-Node Kubernetes Cluster aufsetzen. Den Kubernetes Paketmanager HELM werden wir für die Installation von MinIO verwenden.
Egal mit welcher Cryptowährung man hantiert, es empfiehlt sich immer eine eigene Kopie der
Blockchain
zu besitzen, nicht nur um - im Falle transparenter Transaktionen - Einsicht zu erhalten, sondern primär um sich vor potentiellen Angriffen zu schützen, sich unabhängig von
remote nodes zu machen und natürlich um das Netzwerk zu unterstützen. Nur so kann man den großen Vorteil einer Blockchain - die Dezentralität - überhaupt erst sinnvoll nutzen.
Insbesondere bei privacy coins, wie Monero - aber natürlich auch bei allen anderen Cryptowährungen - lohnt es sich, seinen Node via TOR (oder einem anderen Anonymisierungsnetzwerks
wie
I2P
) als HiddenService bereitzustellen und sich auf diese Weise von seinem lokalen PC aus zu verbinden.