knuspermagier.de
Ein L und zwei P. Philipp!

Devlog #4 - Ansible

Heute geht es mal gar nicht um konpasu, ich zähle die Devlog-Zahl trotzdem hoch. Vielleicht wird das eher so ein Log, von sinnfreien Sachen, die ich in meiner Freizeit so erledige.

Ansible

In meinem Post über die Server-Umstellung stellte ich ja meine neue Infrastruktur schon vor, was mir immer noch fehlte war ein Ansible-Playbook, um die Sachen auch wirklich einzurichten. Ich hatte damit angefangen, aber, wie immer bei Ansible, nach dem ersten kleinen Roadblock aufgegeben und meine Hobby-Wahl in Frage gestellt.

Letztens kam aber mal wieder eine Hetzner-Rechnung über einen viel zu hohen Betrag und mir fiel ein, dass ich den Server-Umzug endlich mal fertig stellen sollte, um noch die letzten beiden alten VMs abzuschalten. Dazu müsste ich aber noch einen weiteren Docker-Server provisionieren, da ich etwas räumliche Trennung möchte und dafür brauche ich Ansible, so bildte ich es mir zumindest ein.

Vor ein paar Wochen dachte ich mir kurz, ich schaue mir mal Nix an um die Sache abzuwickeln, aber die Lernkurve ist… naja, wie alle gesagt haben, sehr steil und meine Motivation schwand genauso schnell, wie sie gekommen ist.

Also, back to Ansible. Ich hab mich mal richtig darauf konzentriert und hab nun tatsächlich ein Playbook, dass ich einfach auf eine frisch erstellte Hetzner-VM lenken kann, und nach wenigen Stunden, denn Ansible ist sehr langsam, habe ich eine funktionierende Umgebung, ist das nicht schön?

Es macht grob folgendes:

  • Packages updaten, User anlegen, vim und sowas installieren
  • Docker installieren und so konfigurieren, wie ich das will
  • acme.sh installieren und konfigurieren
  • nginx installieren und konfigurieren

Ein paar Sachen fehlen noch (Backups und Monitoring), aber das mache ich irgendwann anders™.

(Es dauert nicht wirklich Stunden, eher so 5 Minuten, nur das generieren der DHParams dauert ziemlich lange)

Depploy

Ein Server alleine reicht ja noch nicht, man braucht auch etwas, um seine Applikationen darauf zu schieben. Wie ebenfalls damals beschrieben, entschied ich mich gegen eine fertige Lösung und bastelte lieber kurz ein kleines PHP-Script, das ein paar Befehle ausführt. Dieses machte ich jetzt mal etwas sauberer und reparierte es, sodass ich damit jetzt sowohl Apps mit einer docker-compose.yml, als auch einfach statische Webseiten deployen kann, einfach nur mit einem depploy. Das Script kümmert sich ums Starten, Stoppen, Pullen, anlegen von Proxy-Konfiguration und beziehen eines SSL-Zertifikats.

Woodpecker 1.0

Für einen Kunden baue ich gerade an einem Contao CMS herum und ich wollte eine funktionierende CI, also baute ich mir eine Woodpecker-Konfiguration, über die ich nochmal gesondert sprechen werde. Dabei fiel mir aber auf, dass es mittlerweile Version 1.0 gibt! Direkt installiert!

Kommentare, Feedback und andere Anmerkungen?
Schreib mir eine E-Mail 🤓