Docker ist kein spezifischer Technologie-Stack, sondern eine Laufzeitumgebung - du gibst dein eigenes Dockerfile oder docker-compose.yml, und Saplo erstellt ein Image und führt es aus. Das ist die flexibelste Option im gesamten Katalog: Wenn es die Anwendung nicht als fertiges Rezept gibt (Ghost, n8n, WordPress und andere), aber ein offizielles Docker-Image oder eine Compose-Datei vorhanden ist, kannst du sie wahrscheinlich hier bereitstellen, ohne darauf zu warten, dass Saplo ein dediziertes Rezept hinzufügt.
Für wen ist Docker auf Saplo gedacht?
Bevor du mit der Installation beginnst, prüfe, ob dies die richtige Wahl für dein Projekt ist:
- Anwendung mit fertigem Docker-Image - das Tool, das du starten möchtest, veröffentlicht ein offizielles Image auf Docker Hub oder GHCR.
- Mehrere Dienste in einer einzigen docker-compose-Datei - Anwendung plus Datenbank, Cache oder Worker in einer
docker-compose.yml. - Ein Tool, das nicht als separates Rezept im Katalog enthalten ist - Docker bietet Zugriff auf jede Software mit einem Image, ohne auf ein dediziertes Rezept warten zu müssen.
- Du hast ein Projekt mit eigener Dockerfile und möchtest die volle Kontrolle über die Laufzeitumgebung - Abhängigkeiten, Versionen von Systembibliotheken, alles definierst du selbst.
Wenn dein Projekt Django mit einer fertigen Dockerfile ist, ziehe auch den dedizierten Django-Stack in Betracht - Saplo baut ihn nativ (Gunicorn, Nginx für statische Dateien), ohne dass du dein eigenes Image schreiben musst.
Anforderungen
Um Docker auf Saplo einzurichten, benötigst du:
- Eine Box im Tarif L oder höher - der Image-Build erfordert mehr Ressourcen als ein gewöhnlicher statischer Build, und LXC muss einen laufenden Docker-Daemon haben (nesting=1).
- Mindestens 512 MB freien RAM und 3 GB Speicherplatz für den Starter selbst, schwerere Images und Builds erfordern mehr.
- Eine Domain oder Subdomain
*.saploapp.pl, die in jedem Tarif enthalten ist. - Ein Git-Repository, wenn du die automatische Bereitstellung nutzen möchtest (optional für den Anfang, du kannst die Anwendung auch als Archiv
.zipüber das Panel hochladen).
Schritt-für-Schritt-Installation
- Gehe im Saplo-Panel zum App-Katalog und wähle Docker (Kategorie "Anwendungen").
- Wähle eine Box im Plan L oder höher und gib den Namen der Anwendung an - daraus wird die Standard-Subdomain generiert.
- Bestätige die Installation. Die Engine installiert Docker CE und das Docker Compose Plugin in deiner Box, falls diese noch nicht vorhanden sind.
- Ein Starter
docker-compose.ymlmit dem Imagenginxdemos/hellowird auf den Anwendungsport gemappt und mit der Optionrestart: unless-stoppedgestartet - damit unter der Domain sofort etwas zu sehen ist, bevor du dein eigenes Projekt bereitstellst. - Nach Abschluss der Installation zeigt die Domain aus Schritt 2 den laufenden Starter-Container an - ab diesem Moment ersetzt du ihn durch dein eigenes Image oder eine Compose-Datei.
Bereitstellung von eigenem Code über Git
- In den Anwendungsdetails findest du den Abschnitt Git / CI-CD. Klicke auf "GitHub verbinden", bestätige die Installation der Anwendung "Saplo Deploy" und wähle das Repository mit deinem Projekt aus.
- Platziere
Dockerfileim Stammverzeichnis deines Repositorys, oderdocker-compose.yml, wenn deine Anwendung aus mehreren Diensten besteht. Saplo erkennt, welche Variante im Repository vorhanden ist, und erstellt sie entsprechend. - Gib in der Datei
saplo.yamlden Port an, auf dem deine Anwendung hört, mittels des Feldesexpose- nginx leitet den Datenverkehr von 80/443 dorthin um. - Committe und pushe die Änderungen auf den Produktionszweig (standardmäßig
main). Jeder nachfolgendegit pusherstellt ein neues Image und ersetzt den Container. - Das Image wird direkt in deiner Box erstellt - anspruchsvollere Builds (große Abhängigkeiten, native Kompilierung) erfordern einen höheren Plan.
Hier ist ein Beispiel einer minimalen saplo.yaml-Datei für Docker:
name: my-project
stack: docker
expose: 8080
Docker auf Saplo vs. Alternativen
| Eigener VPS mit Docker | Railway / Render (Deployment mit Dockerfile) | Docker auf Saplo | |
|---|---|---|---|
| Konfiguration Docker Daemon | Selbst gemacht | Vollständig verwaltet | Vorinstalliert, Engine fügt fehlende Elemente hinzu |
| Git-Deployments | Muss selbst eingerichtet werden (CI/CD, Webhooks) | Ja, nativ | Ja, git push auf den Produktions-Branch |
| Abrechnung | Feste Serverkosten | Ressourcenverbrauch, steigt mit dem Traffic | Feste Kosten für die Box |
| Mehrere Services in einem Projekt (Compose) | Selbst konfigurieren | Normalerweise auf einen Container beschränkt | docker-compose.yml wird automatisch erkannt |
Häufig gestellte Fragen
Dockerfile oder docker-compose - was soll ich wählen? Beide funktionieren. Dockerfile reicht für einen einzelnen Dienst aus, wähle docker-compose, wenn die Anwendung mehrere Container nebeneinander benötigt, z.B. einen Dienst plus Redis.
Kann ich mehrere Container in einer Compose-Datei haben?
Ja, die gesamte Datei docker-compose.yml wird zusammen ausgeführt, wobei das Netzwerk zwischen den Diensten erhalten bleibt.
Wird das Image auf meiner Box oder extern erstellt? Auf deiner Box - daher die höheren Plananforderungen für schwerere Builds als für einfache statische Seiten.
Was ist mit Daten, die einen Container-Neustart überleben sollen? Volumes funktionieren wie in normalem Docker. Denke daran, Backups in den Anwendungseinstellungen zu aktivieren, wenn die Daten geschützt werden sollen.
Bekomme ich SSL und eine eigene Domain?
Ja, das SSL-Zertifikat ist automatisch, und eine Domain oder Subdomain *.saploapp.pl ist in jedem Plan enthalten.
Docker auf Saplo stellst du in wenigen Minuten von Null bis zu einer funktionierenden Domain bereit, und jeder weitere git push erstellt ein neues Image und ersetzt den Container ohne dein Zutun. Wenn du nach einem bestimmten Tool mit einem Docker-Image suchst, das noch nicht als fertiges Rezept im Katalog verfügbar ist, ist dies der schnellste Weg, es auszuführen.
- #Docker
- #Docker Compose
- #Git Deploy
- #Anleitung
