- 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
79 lines
1.9 KiB
Markdown
79 lines
1.9 KiB
Markdown
# Development Setup
|
|
|
|
## Schnellstart
|
|
|
|
### Starten (Development Environment)
|
|
|
|
```bash
|
|
# Mit Script (empfohlen):
|
|
./dev.sh
|
|
|
|
# Oder manuell:
|
|
docker compose -f docker/dev/docker-compose.yml up -d
|
|
```
|
|
|
|
### Zugriff
|
|
- **Frontend**: http://localhost:3000 (Hot Module Reloading aktiv)
|
|
- **Backend**: http://localhost:5001 (API)
|
|
- **Slideshow**: http://localhost:3000/slideshow
|
|
|
|
### Logs verfolgen
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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 |