**Coolify bietet eine besonders bequeme Einrichtung von Webanwendungen, die Sie im Browser nutzen können – entweder im eigenen Netzwerk oder über das Internet. Dafür sind in der Regel nur wenige Mausklicks nötig.**
Für Webanwendungen sind in der Regel mehrere Programmpakete erforderlich: Webserver (Apache, Nginx), Script-Sprache (meist PHP) plus Datenbanksystem (My SQL, Maria DB). Die Konfiguration kann aufwendig sein, insbesondere, wenn man mehrere Dienste gleichzeitig betreiben möchte. Der Betrieb in Docker-Containern (siehe Artikel ab Seite 84) erleichtert die Aufgabe. Bei der manuellen Installation muss man sich allerdings mit den Docker-Eigenheiten befassen, die passenden Steuerdateien finden und die Verwaltung standardmäßig im Terminal erledigen.
Deutlich einfacher wird die Serverinstallation mit der Open-Source-Software Coolify (https://coolify.io). Dabei handelt es sich um eine Platform-as-a-Service (PaaS) für vorkonfigurierte Anwendungen, Datenbanken und Entwicklertools. Die Installation ist erfreulich unkompliziert und danach können Sie zahlreiche Webanwendungen mit wenigen Mausklicks einrichten.
## Voraussetzungen für Coolify
Coolify eignet sich für fast jeden Linux-PC im eigenen Netzwerk oder im Rechenzentrum. Eine virtuelle Maschine oder ein älterer PC reichen aus. Eine CPU mit zwei Kernen und 2 GB RAM sind für Coolify allein mindestens erforderlich. Abhängig von Art und Anzahl der installierten Anwendungen ist leistungsfähigere Hardware nötig. Eine Vier-Kern-CPU und 8 GB RAM sollten bei durchschnittlicher Servernutzung ausreichen. Coolify unterstützt alle gängigen Linux-Distributionen, etwa Ubuntu 22.04 oder 24.04, Linux Mint, Debian, Fedora oder Open Suse.
Für den Webserver müssen die HTTP(S)-Standardports 80 und 443 frei sein. Sollte bereits Apache oder Nginx installiert sein, beenden und deaktivieren Sie den Dienst. Für Apache verwenden Sie im Terminal
```
sudo systemctl stop apache2
sudo systemctl disable apache2
```
Für Nginx ersetzen Sie „apache2“ durch „nginx“. Coolify benötigt zusätzlich die Ports 8000 sowie 6000, 6001 und 6002, die ebenfalls nicht anderweitig belegt sein dürfen.
##Lokales Netzwerk oder Internet?
Coolify ist für die Nutzung der Dienste über das Internet ausgelegt, kann jedoch auch auf das lokale Netzwerk beschränkt werden (siehe letzten Punkt „Erweiterte Konfiguration der Webanwendungen“). Damit der Zugriff aus dem Internet auf das heimische Netzwerk klappt, konfigurieren Sie Freigaben für die Ports 80 und 443 über die Oberfläche Ihres Routers. Coolify nutzt den Dienst https://sslip.io, der die öffentliche IP des Routers über einen Domainnamen zugänglich macht.
Sie können auch eine eigene Domain verwenden, etwa über einen Dienst für dynamische IP-Adressen (Dyn DNS). Da Coolify für jede Webanwendung eine Subdomain erstellt, ist die Unterstützung für Wildcard-Domains erforderlich. Diese Funktion unterstützt etwa eine kostenlose Dyn-DNS-Domain von http://noip.com. Setzen Sie bei der Konfiguration ein Häkchen vor „Wildcard“.
Mehr Möglichkeiten bietet eine eigene Domain, die Sie für einige Euro jährlich bei einem Internetprovider einrichten. Die DNS-Konfiguration kann auch auf die wechselnde IP-Adresse des eigenen Routers verweisen. Ausführliche Informationen zu den unterschiedlichen Methoden für den Fernzugang zum Heimnetz und zur Portweiterleitung lesen Sie über https://m6u.de/FHEIM.
##Coolify-Installation und erste Schritte
Für die Installation verwenden Sie im Terminal folgenden Befehl:
aus. Sollte curl nicht installiert sein, holen Sie das unter Ubuntu oder Linux Mint mit
```
sudo apt install curl
```
nach. Das Coolify-Installations-Script richtet unter anderem Docker und den Open-SSH-Server für den Zugang über SSH ein. Zum Schluss zeigt es einige IP-Adressen für den Aufruf der Weboberfläche an. Darunter ist auch die öffentliche IP Ihres Routers zu finden, die jedoch nur funktioniert, wenn Sie eine Portfreigabe eingerichtet haben. Im eigenen Netzwerk verwenden Sie stattdessen die lokale IP-Nummer des Servers, die Sie im Terminal mit
```
ip a
```
herausfinden.
Rufen Sie Coolify im Browser über „http://[IP]:8000“ auf. Den Platzhalter „[IP]“ ersetzen Sie durch die zuvor ermittelte IP-Adresse. Zuerst legen Sie Benutzername, Mailadresse und Passwort für den administrativen Nutzer fest. Das Passwort sollte ausreichend lang und sicher sein, sofern Sie auf die Coolify-Konfiguration auch aus dem Internet zugreifen. Klicken Sie danach auf „Skip Setup“, um die Einstellungen manuell festzulegen.
Im Dashboard klicken Sie unter „Servers“ auf „localhost“. Unter „Wildcard Domain“ tragen Sie einen Dyn-DNS-Domainnamen in der Form „http://MeinServer.beispiel.de“ ein. Klicken Sie auf „Save“. Wenn Sie nichts angeben und die Ports 80 und 443 im Router geöffnet sind, können Sie die Webanwendungen trotzdem über das Internet ansteuern. Die Adresse erfahren Sie später bei den einzelnen Anwendungen.
Gehen Sie in der Seitenleiste auf „Settings“. Unter „Domain“ können Sie eine eigene Domain in der Form „https://coolify.beispiel.de“ eintragen. Coolify ist dann unter dieser URL aus dem Internet erreichbar. Ein kostenloses SSL-Zertifikat von Let’s Encrypt wird automatisch erstellt, sodass die Seiten beziehungsweise das Passwort bei der Anmeldung verschlüsselt übertragen werden. Wenn Sie keine eigene Domain verwenden wollen, lassen Sie das Feld einfach leer.
## Webanwendungen in Coolify einrichten
Coolify ist auf umfangreiche Installationen mit mehreren Anwendungen und Servern ausgerichtet. Für eine bessere Übersicht werden die Anwendungen daher in Projekten gruppiert. Im Dashboard klicken Sie hinter „Projects“ auf „+“ und geben dem Projekt einen aussagekräftigen Namen. Per Klick auf „Continue“ erstellen Sie das Projekt. Weiter geht’s mit dem Klick auf „+ Add Resource“.
Der Ressourcenkatalog zeigt mehrere Bereiche. „Applications“ und „Databases“ wenden sich eher an Entwickler, die eigene Projekte in Coolify nutzen möchten. Die Dateien können aus einem Repository bei Github oder Gitlab stammen oder man verwendet eine Docker-Compose-Datei (siehe auch Artikel ab Seite 84).
Für die einfache Nutzung sind die Einträge unter „Services“ gedacht, wo Sie mehr als 200 populäre Webanwendungen finden. Über das Suchfeld kann man die Liste filtern. Tippen Sie beispielsweise „Dokuwiki“ ein, wenn Sie dieses Wiki für die Sammlung von Ideen und Notizen installieren möchten, und klicken Sie die Fundstelle an. Ein Klick auf „Documentation“ führt zur Webseite des Softwareanbieters. Hier können Sie sich über die Funktionen der Software und eventuell auch über die Schritte informieren, die nach der Installation empfohlen sind.
Unter „Service Name“ gibt Coolify den Namen mit einem zufällig generierten Anhang vor. Sie können die Bezeichnung beliebig anpassen. Unter „Services“ wird die URL angezeigt, unter der das Wiki erreichbar sein soll. Diese besteht aus dem langen Servicenamen und der Domain. Nach einem Klick auf „Settings“ können Sie den Domainnamen vereinfachen, etwa zu „https://dokuwiki.beispiel.de“.
Wenn Sie keine eigene Domain nutzen, lautet die URL „http://[Servicename]-[externe IP des Routers].sslip.io“. Auch hier können Sie den Namen kürzen, etwa auf „http://dokuwiki-[externe IP des Routers].sslip.io“. „https://“ können Sie nicht verwenden, weil die Anzahl der Let’s-Encrypt-Zertifikate pro Domain begrenzt ist. Die Prüfung der Domain schlägt deshalb wahrscheinlich fehl und es wird kein Zertifikat ausgestellt.
Nach Abschluss der Konfiguration klicken Sie auf „Deploy“. Coolify lädt das zugehörige Docker-Image und erstellt den Container. Nach kurzer Wartezeit erreichen Sie die Dokuwiki-Installation über die URL, auf die Sie unter „Links“ klicken können.
Webanwendung konfigurieren: Coolify nimmt Ihnen die komplette Installation ab, die Schritte der Ersteinrichtung müssen Sie aber selbst erledigen. Was hier nötig ist, hängt von der jeweiligen Anwendung ab. So ist etwa bei Dokuwiki zu beachten, dass standardmäßig keine Benutzeranmeldung konfiguriert ist. Jeder, der die URL kennt, kann die Seiten lesen und bearbeiten. Um das zu ändern, rufen Sie „http://[Meine-Domain]/install.php?l=de“ auf. Füllen Sie das Formular mit den Zugangsdaten für den administrativen Benutzer aus. Unter „Anfangseinstellungen der Zugangskontrolle (ACL)“ wählen Sie den Eintrag „Geschlossenes Wiki (Lesen, Schreiben und Hochladen nur für registrierte Benutzer)“ oder „Öffentliches Wiki (Lesen für alle, Schreiben und Hochladen nur für registrierte Benutzer)“. Klicken Sie zum Abschluss auf „Speichern“ und danach auf den Link „neues DokuWiki“. Nach der Anmeldung können Sie auf „Admin –› Benutzerverwaltung“ gehen und weitere Benutzer anlegen.
##Nextcloud über Coolify installieren
Die Suche im Ressourcenkatalog liefert für Nextcloud mehrere Ergebnisse, die sich durch die verwendete Datenbank unterscheiden. Der Eintrag ohne weiteren Zusatz nutzt eine Sqlite-Datenbank, die nicht sehr leistungsfähig ist und sich eher für Installationen mit geringem Datenvolumen eignet. Wer mehr benötigt, installiert Nextcloud mit einer Maria-DB-, My-SQL- oder Postgres-Datenbank. Die Leistung dieser Alternativen ist etwa identisch.
Die Einrichtung des Nextcloud-Containers erfolgt entsprechend wie für Dokuwiki beschrieben. Beim ersten Aufruf der Webseite vergeben Sie Benutzernamen und Passwort für den administrativen Nutzer. Unter „Database configuration“ wählen Sie das verwendete Datenbanksystem: „SQLite“, „MySQL/MariaDB“ oder „PostgreSQL“. Für Sqlite sind keine weiteren Angaben erforderlich, bei den anderen müssen Sie Benutzer, Passwort und Namen der Datenbank eintragen. Die Daten dafür zeigt Coolify unter „Service Specific Configuration“ an. Unter „Datenbank-Host“ geben Sie „nextcloud-db“ ein. Die Bezeichnung zeigt Coolify nicht an, sie entspricht aber dem Namen des Docker-Dienstes. Details zur Installation erfahren Sie nach einem Klick auf „Edit Compose File“. Die Hauptabschnitte enthalten jeweils die Namen der Dienste.
## Weitere Webanwendungen für Coolify
Coolify bietet zahlreiche Anwendungen für die schnelle Installation mit wenigen Mausklicks – die folgenden Beispiele sind nur eine kleine, prominente Auswahl:
Audiobookshelf: Audiobookshelf stellt einen Server für gesprochene Audioinhalte im eigenen Netzwerk bereit. Außerdem kann die Software E-Books ausliefern, die sich auch auf dem Smartphone lesen lassen.
**Immich:** Wer auf Privatsphäre Wert legt, speichert Fotos und Videos auf dem eigenen Server. Immich bietet eine Weboberfläche mit zahlreichen Komfortfunktionen für die Verwaltung von Fotos und Videos. Unterstützt werden beispielsweise mehrere Alben für Sammlungen, die Freigabe von Alben für andere Benutzer, Anzeige von Exif-Informationen und Standorten sowie Gesichtserkennung. Auf dem Smartphone (Android und iOS) ermöglicht eine App den Dateiupload und dient zugleich als Bildergalerie.
**Jellyfin:** Die Software ist die Basis für den eigenen Medienserver im lokalen Netzwerk. Clientsoftware gibt es für Linux, Windows, Mac-OS, Android, iOS, Amazon Fire TV und TV-Geräte von LG (Web-OS). Alle Jellyfin-Programme sind Open Source und kostenlos. Die Kombination von Jellyfin-Server und -Client ermöglicht den Zugriff auf eine Oberfläche, ähnlich wie bei Netflix.
**Paperless:** Diese Anwendung ist vorrangig eine Serversoftware zur Ablage von Dokumenten. Das empfehlenswerte Format ist PDF, es werden aber auch Office-Dokumente (Libre Office, Word, Excel, Powerpoint) und Bilddateien unterstützt. Text in eingescannten Dokumenten oder Fotos erkennt Paperless automatisch per OCR. Mit Tags und benutzerdefinierten Feldern lassen sich Dokumente kategorisieren, was bei der Suche hilft.
**Syncthing:** Diese Open-Source-Software kann ausgewählte Ordner zwischen Geräten im eigenen Netzwerk komfortabel synchronisieren. Sie können etwa den Ordner „Dokumente“ auf Ihrem Arbeits-PC mit einem Ordner auf einem anderen PC abgleichen, sodass beide die gleichen Dateien enthalten. Oder Sie synchronisieren den Bilderordner auf Ihrem Smartphone, damit Fotos automatisch auf dem PC landen.
## Erweiterte Konfiguration der Webanwendungen
Coolify stellt die Anwendungen entweder über https://sslip.io oder die eigene Domain im Internet bereit. Das ist nicht in allen Fällen erwünscht und bei einigen Programmen auch nicht sinnvoll. Soll der Webdienst ausschließlich im lokalen Netzwerk verfügbar sein, öffnen Sie die Dienstkonfiguration und entfernen unter „Services“ nach einem Klick auf „Settings“ den Eintrag unter „Domains“. Bei einigen Anwendungen erscheint ein Hinweis auf den Port im Container, etwa „Required Port: 8096“. Wenn nicht, wird Port 80 verwendet.
Klicken Sie auf „Save“, danach auf „<- Back“ und dann auf „Edit Compose File“. Unterhalb des Blocks „environment:“ fügen Sie den neuen Block „ports:“ ein und darunter eine Portzuweisung wie „- 8021:80“ (siehe Abbildung). Damit wird der Port 80 im Container dem Port 8021 Ihres Linux-PCs zugewiesen. Wenn der Container einen anderen Port wie 8086 benötigt, tragen Sie „- 8021:8096“ ein. Klicken Sie auf „Save“, schließen Sie den Dialog und klicken auf „Restart“. Die Webanwendung rufen Sie dann im lokalen Netz mit „http://[IP]:8021 oder http://[Rechnername]:8021“ auf. Da man jeden Port nur einmal verwenden kann, passen Sie 8021 im Beispiel für weitere Anwendungen an (8022, 8023 und so weiter).
Den Ort für Datenspeicher anpassen: Die Anwendungen speichern Daten und Konfiguration unter „/data/coolify/services“ oder „/var/lib/docker/volumes“. Beide Ordner sind nur mit administrativen Rechten zugänglich. Das ist unpraktisch, wenn eine Anwendung Dateien erhalten soll, auf die Sie auch als Standardbenutzer zugreifen wollen. Ein typisches Beispiel ist der Medienserver Jellyfin, der Ordner mit Audio- und Videodateien benötigt.
Rufen Sie die Konfiguration des Jellyfin-Dienstes auf und klicken Sie auf „Edit Compose File“. Unter „volumes:“ entfernen Sie die Zeilen
```
- 'jellyfin-tvshows:/data/tvshows'
- 'jellyfin-movies:/data/movies'
```
und tragen stattdessen die Zeilen aus der Abbildung ein. Fügen Sie außerdem den neuen Block „ports:“ ein, damit der Jellyfin-Server im lokalen Netzwerk erreichbar ist. Nach Klicks auf „Save“ und „Restart“ ändern Sie die Zugriffsrechte mit
```
sudo chmod -R 777 /jellyfin
```
Sie können jetzt Dateien in die Ordner „/jellyfin/movies“ und „/jellyfin/tvshows“ kopieren und in Jellyfin Medienbibliotheken für diese Ordner erstellen.