T1041 T1042: UI-Container mit nginx + php-fpm #5

Merged
muke merged 2 commits from feature/ui-container into main 2026-03-02 21:23:33 +01:00
Owner

Kontext

Implementiert die ersten UI-Container-Schritte aus dem Epic T1039:

  • T1041 UI-Service als dritter Container
  • T1042 Webserver-Stack im UI-Container

Änderungen

  • Neuer UI-Build über Dockerfile.ui (PHP 8.2 FPM + nginx)
  • Nginx-Konfiguration ergänzt (config/nginx/nginx.conf, config/nginx/default.conf)
  • PHP-FPM Pool-Konfiguration ergänzt (config/php-fpm/www.conf)
  • UI-Entrypoint ergänzt (docker-entrypoint-ui.sh)
  • ui Service in docker-compose.yml, docker-compose.dev.yml, docker-compose.prod.yml
  • Test-UI unter public/index.php
  • Healthcheck für UI-Service

Validierung

Erfolgreich lokal geprüft:

  • docker compose -f docker-compose.dev.yml build ui
  • docker compose -f docker-compose.dev.yml up -d ui
  • docker compose -f docker-compose.dev.yml ps ui => healthy
  • curl http://localhost:8080/ => HTTP 200 + HTML Ausgabe

Hinweise

  • Interner UI-Port: 80
  • Externer Port via .env: UI_PORT (Default 8080)
  • DB-Zugriff vorbereitet; Read-only User wird im nächsten Schritt finalisiert
## Kontext Implementiert die ersten UI-Container-Schritte aus dem Epic **T1039**: - **T1041** UI-Service als dritter Container - **T1042** Webserver-Stack im UI-Container ## Änderungen - Neuer UI-Build über `Dockerfile.ui` (PHP 8.2 FPM + nginx) - Nginx-Konfiguration ergänzt (`config/nginx/nginx.conf`, `config/nginx/default.conf`) - PHP-FPM Pool-Konfiguration ergänzt (`config/php-fpm/www.conf`) - UI-Entrypoint ergänzt (`docker-entrypoint-ui.sh`) - `ui` Service in `docker-compose.yml`, `docker-compose.dev.yml`, `docker-compose.prod.yml` - Test-UI unter `public/index.php` - Healthcheck für UI-Service ## Validierung Erfolgreich lokal geprüft: - `docker compose -f docker-compose.dev.yml build ui` - `docker compose -f docker-compose.dev.yml up -d ui` - `docker compose -f docker-compose.dev.yml ps ui` => healthy - `curl http://localhost:8080/` => HTTP 200 + HTML Ausgabe ## Hinweise - Interner UI-Port: `80` - Externer Port via `.env`: `UI_PORT` (Default `8080`) - DB-Zugriff vorbereitet; Read-only User wird im nächsten Schritt finalisiert
- Dockerfile.ui erstellt für UI-Container (nginx + php-fpm)
- nginx-Konfiguration hinzugefügt (nginx.conf + default.conf)
- PHP-FPM Pool-Konfiguration erstellt
- docker-entrypoint-ui.sh für Container-Start
- UI-Service zu allen docker-compose-Dateien hinzugefügt
- Test-Seite public/index.php erstellt mit Status-Anzeige
- Port via UI_PORT in .env konfigurierbar (default: 8080)
- Healthcheck für UI-Container implementiert
- Wechsel von Unix-Socket auf TCP (127.0.0.1:9000) für bessere Robustheit
- Entrypoint-Script verbessert: beide Services im Foreground
- Process-Management mit PIDs und wait
- Trap-Handler für sauberes Shutdown
- Container läuft stabil und ist healthy
- UI erreichbar auf Port 8080

Tests:
- Container startet ohne Fehler
- PHP-FPM läuft und ist erreichbar
- nginx bedient Requests
- Health-Check: HTTP 200 OK
muke 2026-03-02 20:41:07 +01:00
muke merged commit aa7b1570dd into main 2026-03-02 21:23:33 +01:00
muke deleted branch feature/ui-container 2026-03-02 21:23:33 +01:00
Sign in to join this conversation.
No reviewers
automation/Owners
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
automation/phorgerunner!5
No description provided.