Project-Image-Uploader/README.dev.md
matthias.lotz 2678ad9b12 🚀 Refactor: Saubere Docker-Struktur mit getrennten dev/prod Umgebungen
- Neue Docker-Struktur: docker/{dev,prod}/ für klare Trennung
- Entfernt: docker-compose.override.yml (problematisch)
- Hinzugefügt: ./dev.sh und ./prod.sh Scripts für einfache Bedienung
- Container-spezifische Konfigurationen in docker/{dev,prod}/*/config/
- Aktualisierte READMEs für neue Struktur
- Backend-Daten in .gitignore hinzugefügt
- Bereinigt: Veraltete Dockerfiles und Konfigurationsdateien

Jetzt: Wartungsfreundlich, keine Verwirrung zwischen Umgebungen
2025-11-05 23:00:25 +01:00

1.9 KiB

Development Setup

Schnellstart

Starten (Development Environment)

# Mit Script (empfohlen):
./dev.sh

# Oder manuell:
docker compose -f docker/dev/docker-compose.yml up -d

Zugriff

Logs verfolgen

# Alle Services:
docker compose -f docker/dev/docker-compose.yml logs -f

# Nur Frontend:
docker compose -f docker/dev/docker-compose.yml logs -f frontend-dev

# Nur Backend:
docker compose -f docker/dev/docker-compose.yml logs -f backend-dev

Entwicklung

Frontend-Entwicklung

  • Code in frontend/src/ editieren → Hot Module Reload übernimmt Änderungen
  • Volumes: Source-Code wird live in Container gemountet
  • Container-Namen: image-uploader-frontend-dev

Backend-Entwicklung

  • Code in backend/src/ editieren → Container restart für Änderungen
  • Container-Namen: image-uploader-backend-dev
  • Environment: NODE_ENV=development

Konfiguration anpassen

  • Frontend: docker/dev/frontend/config/.env
  • Backend: docker/dev/backend/config/.env
  • Nginx: docker/dev/frontend/nginx.conf

Container-Management

# Status anzeigen:
docker compose -f docker/dev/docker-compose.yml ps

# Container neustarten:
docker compose -f docker/dev/docker-compose.yml restart

# Container neu bauen:
docker compose -f docker/dev/docker-compose.yml build --no-cache

# Stoppen:
docker compose -f docker/dev/docker-compose.yml down

# Mit Volumes löschen:
docker compose -f docker/dev/docker-compose.yml down -v

Shell-Zugriff

# Frontend Container:
docker compose -f docker/dev/docker-compose.yml exec frontend-dev bash

# Backend Container:
docker compose -f docker/dev/docker-compose.yml exec backend-dev bash

docker compose exec image-uploader-frontend nginx -s reload docker compose down