Mattermost Migration mit Ansible
Ich setze Ansible schon seit einiger Zeit @work ein. Auch den Mattermost Server den ich für die Familie betreibe habe ich von Anfang an mit Ansible konfiguriert. Nun war es an der zeit das Betriebssystem von Debian 8 auf Debian 9 und den Server von Jiffybox in die Hetzner Cloud zu migrieren.
Der neuen Server in der Hetzner Cloud stand in wenigen Sekunden bereit. Die kleinste Instanz mit einer CPU, 2GB RAM und 20GB SSD genügen für den Mattermost Server.
Im ersten Step wurde das Playbook das ich bereits für den alten Server verwendet habe ohne Anpassung ausgeführt. Ergebnis war ein fast vollständig eingerichteter Server. Einzig die Letsencrypt Zertifikate konnten nicht erstellt werden da die Domain zu diesem Zeitpunkt noch nicht ungezogen war.
Nun mussten die Daten und die Postgres Datenbank vom alten Server mit rsync kopiert werden.
Also Mattermost auf dem alten Server gestoppt und ein Datenbank Backup mit pg_dump erstellt. DNS Record auf die neue IP geändert und die Mattermost Daten via rsync kopiert.
Nachdem die DNS Einträge recht schnell aktualisiert wurden, musste das Ansible Playbook noch einmal ausgeführt werden um die Zertifikate zu erstellen.
Das wars! Dank Ansible ist das Setup des Servers dokumentiert und reproduzierbar. Es braucht zwar etwas Disziplin Änderungen am Server konsequent über Ansible zu machen, aber heute wurde ich für die Arbeit mit einer reibungslosen Migration belohnt.