Wo sind die WordPress-Docker-Volumes in Coolify?
Wenn du mit Coolify arbeitest und WordPress in einem Docker-Container betreibst, stellst du dir früher oder später eine ganz zentrale Frage: Wo liegen eigentlich meine persistenten Daten? Spätestens wenn du Backups machen, Dateien prüfen oder ein Restore vorbereiten willst…

Wenn du mit Coolify arbeitest und WordPress in einem Docker-Container betreibst, stellst du dir früher oder später eine ganz zentrale Frage: Wo liegen eigentlich meine persistenten Daten? Spätestens wenn du Backups machen, Dateien prüfen oder ein Restore vorbereiten willst, suchst du nach „Persistent Storage Locations“ oder Docker-Volumes – und findest auf dem Host plötzlich kein /var/www/html. Genau hier setzt dieser Artikel an. Du bekommst eine klare Schritt-für-Schritt-Erklärung: Was Persistent Storage in Docker wirklich ist, wo du deine WordPress-Daten findest und wie du sie sauber und regelmäßig auf ein S3-kompatibles DigitalOcean Spaces-Backup sicherst.
1. Was ist Persistent Storage in Docker – und warum gibt es Volumes?
Docker-Container sind grundsätzlich ephemer. Das bedeutet:
- Container können jederzeit neu gebaut oder ersetzt werden.
- Alles, was nur im Container-Dateisystem liegt, wäre beim Löschen verloren.
Damit wichtige Daten (z. B. Uploads, Plugins, Themes, Konfigurationen) erhalten bleiben, gibt es Volumes.
Wie funktionieren Docker Volumes?
Ein Volume ist ein spezieller Speicherbereich außerhalb des Container-Layers. Der Container bindet diesen Speicher beim Start ein.
Beispiel (vereinfacht):
Host (Volume)
//
/var/lib/docker/volumes/xyz/_data
// gemountet nach
Container: /var/www/htmlDer Container denkt, er schreibt nach /var/www/html.
In Wirklichkeit landen die Daten im Volume auf dem Host.
Warum gibt es das?
-
Trennung von Code und Daten
-
Sichere Updates von Containern
-
Persistenz bei Neustarts
-
Bessere Backup-Strategien
-
Portabilität
Wie findest du Volumes in Coolify?
Coolify zeigt dir bei WordPress meist:
Persistent Storage: /var/www/htmlWichtig:
Das ist der Container-Pfad, nicht der Host-Pfad.
So findest du den echten Speicherort:
Schritt 1 – Container anzeigen
docker psSchritt 2 – Mounts prüfen
docker inspect <container-name> --format '{{range .Mounts}}{{println .Type "=>" .Source "->" .Destination}}{{end}}'Typische Ausgabe:
volume => /var/lib/docker/volumes/wordpress_xyz/_data -> /var/www/htmlDann weißt du:
- Container-Ziel: /var/www/html
- Host-Speicher: /var/lib/docker/volumes/wordpress_xyz/_data
2. Wo liegen WordPress-Daten üblicherweise im Container?
Das offizielle WordPress-Image von Docker verwendet standardmäßig:
/var/www/htmlDort befinden sich:
-
wp-content
-
uploads
-
themes
-
plugins
-
wp-config.php
Coolify bindet genau diesen Pfad persistent ein.
Du findest also:
- Im Container: /var/www/html
- Auf dem Host (bei named volumes):
/var/lib/docker/volumes/<volume-name>/_dataWenn stattdessen ein Bind-Mount verwendet wird, siehst du im docker inspect einen echten Host-Pfad wie:
/home/coolify/applications/xyz/storage3. Darf man Dateien im Volume per Command Line bearbeiten?
Kurz gesagt: Ja – aber mit Vorsicht.
Wann ist es okay?
-
Debugging
-
Notfall-Reparaturen
-
Backup-Zwecke
-
Plugin manuell entfernen
Wann solltest du es vermeiden?
-
Während der Container aktiv schreibt
-
Bei automatisierten Deployments
-
Wenn du nicht genau weißt, was du tust
Besser ist oft:
docker exec -it <container> bashUnd dann innerhalb des Containers arbeiten.
4. Regelmäßige Backups auf DigitalOcean Spaces (S3-kompatibel)
Coolify bietet kein integriertes Volume-Backup-System (nur Datenbank-Backups).
Deshalb solltest du deine Volumes selbst sichern.
Hier ein einfaches Setup mit:
-
tar
-
s3cmd
-
Retention-Regeln
-
Cronjob
Voraussetzungen
Installiere:
apt install s3cmdKonfiguriere:
s3cmd --configureBackup-Script erstellen
Speicher das Script unter:
/usr/local/bin/wp_volume_backup.shnano /usr/local/bin/wp_volume_backup.shScript-Inhalt
#!/bin/bash
# CONFIG
VOLUME_PATH="/var/lib/docker/volumes/wordpress_xyz/_data"
BACKUP_DIR="/tmp"
BUCKET="s3://dein-space-name/wp-backups"
DATE=$(date +"%Y-%m-%d_%H-%M")
RETENTION_DAYS=14
ARCHIVE="$BACKUP_DIR/wp_volume_$DATE.tar.gz"
# Backup erstellen
tar -czf $ARCHIVE -C $VOLUME_PATH .
# Upload zu DigitalOcean Spaces
s3cmd put $ARCHIVE $BUCKET/
# Lokale Datei löschen
rm $ARCHIVE
# Alte Backups löschen (Retention)
s3cmd ls $BUCKET/ | while read -r line;
do
FILE_DATE=$(echo $line | awk '{print $1}')
FILE_NAME=$(echo $line | awk '{print $4}')
if [[ $(date -d "$FILE_DATE" +%s) -lt $(date -d "$RETENTION_DAYS days ago" +%s) ]]; then
s3cmd del $FILE_NAME
fi
doneDann ausführbar machen:
chmod +x /usr/local/bin/wp_volume_backup.shCronjob für jede Nacht um 2:45 Uhr
crontab -eEintrag:
45 2 * * * /usr/local/bin/wp_volume_backup.sh >> /var/log/wp_volume_backup.log 2>&1Das bedeutet:
-
Minute: 45
-
Stunde: 2
-
Jeden Tag
-
Jede Woche
-
Jeder Monat
Fazit
Wenn du WordPress mit Docker in Coolify betreibst, musst du verstehen:
-
Was Persistent Storage ist
-
Wie Docker Volumes funktionieren
-
Wo deine echten Daten liegen
-
Wie du sie sicherst
Coolify bietet kein Out-of-the-Box Volume-Backup an – nur Datenbank-Backups.
Deshalb solltest du dich selbst um deine Volumes kümmern.
Mit einem einfachen Shell-Script, einem Cronjob und S3-kompatiblem Storage wie DigitalOcean Spaces hast du eine saubere, kontrollierbare und professionelle Lösung.
Persistent Storage ist kein Nebenthema – es ist das Fundament deiner Installation. Wenn du Docker produktiv nutzt, musst du Volumes verstehen und beherrschen.
Weiterlesen.
Web & CodeAnleitung: linkding mit Docker selbst hosten
Deine Lesezeichen liegen verstreut in mehreren Browsern und werden über fremde Clouds synchronisiert? linkding ist ein minimalistischer, selbst gehosteter Bookmark-Manager. Hier richtest Du ihn Schritt für Schritt mit Docker auf Deinem eigenen Server ein, vom Container bis zur Browser-Erweiterung…
Sonoya Redaktion
Web & CodeAnleitung: Linkwarden mit Docker selbst hosten
Linkwarden sammelt Deine Lesezeichen, liest Artikel im Reader-Modus und archiviert jede Seite als Screenshot, PDF und HTML. So richtest Du den Open-Source-Bookmark-Manager mit Docker Compose auf Deinem eigenen Server ein, damit alle Daten bei Dir bleiben …
Sonoya Redaktion
Web & CodePhoneBlock: Spam-Anrufe auf der FRITZ!Box sperren
Nervige Werbe- und Betrugsanrufe lassen sich mit dem kostenlosen Open-Source-Projekt PhoneBlock direkt auf der FRITZ!Box blockieren. Hier zeige ich Dir Schritt für Schritt, wie Du die Sperrliste als CardDAV-Telefonbuch einbindest und unerwünschte Nummern automatisch abweist…
Sonoya Redaktion
Web & CodePostiz: Open-Source-Alternative zu Buffer & Co.
Postiz plant Deine Social-Media-Posts für über 30 Netzwerke, ist quelloffen und lässt sich selbst hosten. Was das Tool kann, was es kostet, wie Du es kostenlos testest und drei Wege, wie Du daraus echten Nutzen oder ein eigenes Angebot machst.
Sonoya Redaktion
Web & Coden8n-Daten automatisch auf DigitalOcean Spaces sichern
n8n speichert Deine Workflows und vor allem Deine Zugangsdaten in einem Docker-Volume auf dem Server. Geht das Droplet verloren, ist ohne Backup alles weg, denn ein automatisches Volume-Backup gibt es nicht. In dieser Anleitung sicherst Du Deine n8n-Daten jede Nacht automatisch auf DigitalOcean Spaces…
Sonoya Redaktion
Web & CodeSchnelle iOS und Android App-Entwicklung: FlutterFlow, Draftbit und MIT App Inventor im Vergleich
Die Entwicklung von mobilen Apps war lange Zeit ausschließlich etwas für professionelle Entwicklerteams – doch moderne No-Code- und Low-Code-Plattformen machen es heute möglich, in kürzester Zeit voll funktionsfähige Apps zu bauen. Besonders attraktiv sind dabei Tools, die nicht…
Sonoya Redaktion