Zum Inhalt springen
SONOYA.com
Web & Code

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…

Von Sonoya Redaktion3 Min. Lesezeit
Wo sind die Volumes für Persistent Storage für eine WordPress Installation mit Docker 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, 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):

Code
Host (Volume)
   //
/var/lib/docker/volumes/xyz/_data
   // gemountet nach
Container: /var/www/html

Der 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:

Code
Persistent Storage: /var/www/html

Wichtig:

Das ist der Container-Pfad, nicht der Host-Pfad.

So findest du den echten Speicherort:

Schritt 1 – Container anzeigen

Code
docker ps

Schritt 2 – Mounts prüfen

Code
docker inspect <container-name> --format '{{range .Mounts}}{{println .Type "=>" .Source "->" .Destination}}{{end}}'

Typische Ausgabe:

Code
volume => /var/lib/docker/volumes/wordpress_xyz/_data -> /var/www/html

Dann 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:

Code
/var/www/html

Dort 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):
Code
/var/lib/docker/volumes/<volume-name>/_data

Wenn stattdessen ein Bind-Mount verwendet wird, siehst du im docker inspect einen echten Host-Pfad wie:

Code
/home/coolify/applications/xyz/storage

3. 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:

Code
docker exec -it <container> bash

Und 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:

Code
apt install s3cmd

Konfiguriere:

Code
s3cmd --configure

Backup-Script erstellen

Speicher das Script unter:

Code
/usr/local/bin/wp_volume_backup.sh
Code
nano /usr/local/bin/wp_volume_backup.sh

Script-Inhalt

Code
#!/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
done

Dann ausführbar machen:

Code
chmod +x /usr/local/bin/wp_volume_backup.sh

Cronjob für jede Nacht um 2:45 Uhr

Code
crontab -e

Eintrag:

Code
45 2 * * * /usr/local/bin/wp_volume_backup.sh >> /var/log/wp_volume_backup.log 2>&1

Das 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.

  • Anleitung: linkding mit Docker selbst hosten
    Web & Code

    Anleitung: 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
  • Anleitung: Linkwarden mit Docker selbst hosten
    Web & Code

    Anleitung: 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
  • PhoneBlock: Spam-Anrufe auf der FRITZ!Box sperren
    Web & Code

    PhoneBlock: 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
  • Postiz: Open-Source-Alternative zu Buffer & Co.
    Web & Code

    Postiz: 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
  • Anleitung: n8n-Daten automatisch auf DigitalOcean Spaces sichern
    Web & Code

    n8n-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