Worum geht es?
Mit Coolify kann man ein modernes Hostingsystem auf Containerbasis mit dem Komfort von Cloudhostern wie Amazon oder Microsoft selbst betreiben. Mit ein paar Klicks hat man beispielsweise eine neue WordPress-Instanz mit der gewünschten Datenbank und sogar einem SSL-Zertifikat bereitgestellt.
Hosting bisher
Der altbewährte Weg, Webapps zu hosten, insbesondere für PHP-Projekte, bestand aus einem Webserver (meistens Apache oder Nginx), der für jede Domain einen entsprechenden vhost-Eintrag bereitstellte. Der Zugriff auf die Inhalte erfolgte für den Entwickler oder Betreiber dann per FTP, mit entsprechenden Zugängen und Abgrenzungen zu den anderen Verzeichnissen. Daneben stand meistens noch ein Datenbankserver, der für jede Domain eigene Benutzer und Datenbanken bereitstellte.
Weiterentwicklung
In einem nächsten Entwicklungsschritt wurden die einzelnen Dienste in Container verpackt, wodurch sogenannte Microservices entstanden. Jede Domain hatte einen eigenen Webserver und einen eigenen Datenbankserver. Als Software kam hier oft Docker zum Einsatz, in größeren Installationen auch andere Anbieter wie Kubernetes. Hierdurch ergab sich eine höhere Abkapselung und die Möglichkeit, den gesamten Container inklusive der Anwendung und aller Konfigurationen auf ein anderes System zu verschieben. Ein Problem war, dass der Zugriff auf die Container nur auf Basis von freigegebenen Ports funktionierte. Die Ports 80 (HTTP) und 443 (HTTPS) können jedoch auf einer von außen erreichbaren IP nur einmal genutzt werden. Sollten mehrere Dienste erreicht werden, musste ein Reverse Proxy eingerichtet werden. Dies geschah dann in einem separaten Container, der die Ports freigibt und Anfragen nach Domain an die anderen Container weiterleitet.
Coolify
Coolify übernimmt diesen Container-Ansatz und nimmt einem viel Handarbeit ab. Man erstellt ein Projekt, in dem man die einzelnen Ressourcen installieren und starten kann. Viele bekannte Systeme sind bereits vorgegeben, etwa WordPress oder Immich. Um eine leere WordPress-Installation mit der eigenen Domain zu starten, muss man lediglich den DNS-Eintrag auf die Coolify-Instanz zeigen lassen, die vorgefertigte Ressource auswählen und als Domain https://meinedomain.tld/
angeben. Durch das https
am Anfang wird auch direkt ein Let’s Encrypt-Zertifikat erzeugt, das regelmäßig automatisch aktualisiert wird, ohne dass man sich gezielt darum kümmern muss. Darüber hinaus bietet Coolify viele weitere Features; man kann zum Beispiel mehrere Hosts sehr einfach zu einem Cluster zusammenfassen, inklusive Ausfallsicherheit und dem Verschieben von Projekten.
Sicherung
Die Sicherung erfolgt auf dem Host-System mit den üblichen Sicherungsmethoden für Docker-Server. Da Coolify vollständig auf Docker aufbaut, benötigt man hier keine Sonderlösungen.
Was kann man machen?
Ich hoste hier beispielsweise auf einer kleinen Hetzner Cloud-Instanz diese Webseite, Memos, FreshRSS, Actual Budget, eine Paperless-Instanz, um meine Dokumente zu digitalisieren, ein Rustdesk-Gateway, und das alles kann ich in Coolify ganz entspannt verwalten und aktualisieren.