In vier Schritten starten
- Das Paket der neuesten Fassung von der Release-Seite herunterladen.
- Auf einer Maschine mit Docker entpacken und
sh docker/start.sh aufrufen. - Einen Reverse Proxy mit HTTPS davorstellen, die Vorlagen liegen im Paket.
- Im Browser die Ersteinrichtung mit dem Einrichtungscode abschließen.
Der Start im Einzelnen
Das Paket der neuesten Fassung von der Release-Seite herunterladen, auf einer Maschine mit Docker entpacken und im Ordner opengewerk aufrufen:
sh docker/start.sh
Beim ersten Mal legt der Befehl die Konfiguration selbst an. Jedes Passwort und jeder Schlüssel entsteht auf der Maschine, dazu der Einrichtungscode, und in der Konsole stehen nur ihre Namen, nie die Werte. Gefragt wird einzig nach der Adresse, unter der OpenGewerk im Browser geöffnet wird. Danach richtet er die Datenbank ein und startet die Instanz, und jeder weitere Aufruf ist zugleich das Update.
Im Browser steht dann die Oberfläche. Solange es weder einen Betrieb noch ein Konto gibt, zeigt sie die Ersteinrichtung, und die fragt als Erstes nach dem Einrichtungscode. Er steht in docker/.env unter SETUP_CODE, zu sehen mit grep SETUP_CODE docker/.env: so richtet nur ein, wer an den Server kommt, und nicht, wer die Adresse zuerst findet. Danach folgen Name des Betriebs, Name und Adresse der Person, die ihn führt, ein Passwort und direkt danach der zweite Faktor. Am besten geschieht das gleich nach dem ersten Start. Alles Weitere, vom Briefkopf bis zum Mailserver, wird danach in der Oberfläche eingestellt.
Die Abbilder holt der Befehl fertig und signiert, für x86_64 und ARM64; gebaut wird auf der Maschine nichts. Sie kommen aus der GitHub Container Registry, und dieselben Abbilder mit denselben Signaturen liegen auch auf Docker Hub, als opengewerk/opengewerk und opengewerk/backup. Ein Update ist das Paket der nächsten Fassung an derselben Stelle, die Konfiguration bleibt dabei stehen. Wer lieber den Quelltext des Repositorys auscheckt, startet mit demselben Befehl, dann baut er die Abbilder selbst.
Davor gehört ein Reverse Proxy mit HTTPS
Die Instanz lauscht nur auf 127.0.0.1, denn eine Anwendung, die Rechnungen führt, steht nicht unverschlüsselt im Netz. Davor gehört ein Reverse Proxy mit TLS, und für die beiden üblichen liegen vollständige Vorlagen im Paket unter docker/proxy/: apache.conf für Apache und nginx.conf für nginx. Sie leiten HTTP auf HTTPS um, nehmen das Zertifikat von certbot, reichen Host, Protokoll und die Adresse des Browsers an die Instanz weiter, lassen große Anfragen nur dort durch, wo Dateien kommen, und geben einem langen Druck Zeit. Anzupassen sind der Name und, wer ihn geändert hat, der Port; jede dieser Zeilen trägt einen Kommentar.
Was darüber hinaus zu wissen ist, auch für einen anderen Proxy wie Caddy, steht in der Anleitung zum Betrieb im Abschnitt Reverse Proxy.