Zum Inhalt springen
DDocsello
Suchen…Ctrl K

Backups

Datenbank und Medien sichern, wiederherstellen und die statischen Websites neu erzeugen.

Sichere zwei Dinge: die Datenbank (alle Inhalte, Verlauf, Benutzer, Einstellungen) und den Speicherordner mit Medien und Screenshots. Die generierten Websites müssen nicht gesichert werden – sie lassen sich jederzeit neu erzeugen.

Bewahre außerdem die .env (vor allem APP_SECRET) zusammen mit den Backups auf.

Datenbank

docker compose exec -T postgres pg_dump -U docsello -Fc docsello > docsello-$(date +%F).dump

Als nächtlicher Cron-Job, der 14 Tage aufbewahrt (Pfade wie in der nginx-Variante):

cat > /etc/cron.d/docsello-backup <<'EOF'
45 3 * * * root cd /mnt/storage/docsello/app && docker compose exec -T postgres pg_dump -U docsello -Fc docsello > /mnt/storage/docsello/backups/docsello-$(date +\%F).dump && find /mnt/storage/docsello/backups -name 'docsello-*.dump' -mtime +14 -delete
EOF

Speicherordner

Wichtig sind die Medien (storage/media). In der Caddy-Variante liegt der Speicher im Docker-Volume docsello_storage:

docker run --rm -v docsello_storage:/data:ro -v "$PWD":/backup alpine tar czf /backup/storage-$(date +%F).tar.gz -C /data .

In der nginx-Variante liegt er direkt auf dem Server, z. B. unter /mnt/storage/docsello/data/storage.

Wiederherstellen

docker compose stop web worker
docker compose exec -T postgres pg_restore -U docsello -d docsello --clean --if-exists < docsello-JJJJ-MM-TT.dump
# Speicher zurückspielen (Caddy-Variante):
docker run --rm -v docsello_storage:/data -v "$PWD":/backup alpine sh -c 'tar xzf /backup/storage-JJJJ-MM-TT.tar.gz -C /data && chown -R 1000:1000 /data'
docker compose up -d
docker compose run --rm worker build-site   # alle Websites neu erzeugen

Websites neu erzeugen

Nach einer Wiederherstellung oder wenn etwas seltsam aussieht:

docker compose run --rm worker build-site

Das erzeugt alle statischen Websites aus der Datenbank neu. Eine einzelne Website erzeugst du auch per API neu: POST /api/v1/sites/{site}/publish bzw. docsello publish --site <website>.

War diese Seite hilfreich?Aktualisiert am 3. Oktober 2026