Files
hoerdle/scripts/docker-cleanup.sh
Hördle Bot 68c8f9a05a Add .dockerignore and Docker cleanup script to fix build space issues
- Add .dockerignore to exclude large upload files from Docker builds
- Add docker-cleanup.sh script to free up Docker disk space
- Add DOCKER_BUILD_FIX.md documentation for troubleshooting build issues

This prevents large MP3 files from being copied into the Docker image,
saving significant disk space during builds.
2025-12-01 17:24:14 +01:00

72 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Docker Cleanup-Skript
# Räumt nicht verwendete Docker-Images, Container, Volumes und Build-Cache auf
set -e
echo "🧹 Docker Cleanup..."
echo ""
# Zeige aktuellen Speicherverbrauch
echo "📊 Aktueller Docker-Speicherverbrauch:"
docker system df
echo ""
# Frage nach Bestätigung (falls interaktiv)
if [ -t 0 ]; then
echo "⚠️ Dies wird folgende Ressourcen entfernen:"
echo " - Alle nicht verwendeten Images"
echo " - Alle gestoppten Container"
echo " - Alle nicht verwendeten Netzwerke"
echo " - Build-Cache"
echo ""
echo "Möchtest du fortfahren? (j/n)"
read -r response
if [ "$response" != "j" ] && [ "$response" != "J" ]; then
echo "❌ Abgebrochen."
exit 0
fi
fi
# 1. Entferne gestoppte Container
echo "🗑️ Entferne gestoppte Container..."
STOPPED_CONTAINERS=$(docker ps -a -q -f status=exited | wc -l)
if [ "$STOPPED_CONTAINERS" -gt 0 ]; then
docker container prune -f
echo "✅ Gestoppte Container entfernt"
else
echo " Keine gestoppten Container gefunden"
fi
echo ""
# 2. Entferne nicht verwendete Images
echo "🗑️ Entferne nicht verwendete Images..."
docker image prune -a -f
echo "✅ Nicht verwendete Images entfernt"
echo ""
# 3. Entferne nicht verwendete Netzwerke
echo "🗑️ Entferne nicht verwendete Netzwerke..."
docker network prune -f
echo "✅ Nicht verwendete Netzwerke entfernt"
echo ""
# 4. Entferne Build-Cache (optional, kann lange dauern)
echo "🗑️ Entferne Build-Cache..."
docker builder prune -f
echo "✅ Build-Cache entfernt"
echo ""
# Zeige neuen Speicherverbrauch
echo "📊 Neuer Docker-Speicherverbrauch:"
docker system df
echo ""
# Zeige verfügbaren Speicherplatz
echo "💾 Verfügbarer Speicherplatz:"
df -h / | tail -1 | awk '{print " Gesamt: " $2 ", Verfügbar: " $4 ", Belegt: " $5}'
echo ""
echo "✅ Cleanup abgeschlossen!"