admin widget zu dokploy geswitched, viele übersetzungen im Frontend vervollständigt und Anlässe-Seiten mit ChatGPT ausgebaut

This commit is contained in:
Codex Agent
2025-11-19 13:12:35 +01:00
parent 125c624588
commit d8f365ddd6
30 changed files with 2820 additions and 293 deletions

View File

@@ -38,12 +38,13 @@ Add the infrastructure observability variables to the Laravel app environment:
DOKPLOY_API_BASE_URL=https://dokploy.example.com/api
DOKPLOY_API_KEY=pat_xxxxxxxxxxxxxxxxx
DOKPLOY_WEB_URL=https://dokploy.example.com
DOKPLOY_APPLICATION_IDS={"app":"app_123","queue":"app_456","scheduler":"app_789","ftp":"app_abc"}
DOKPLOY_COMPOSE_IDS={"stack":"cmp_main","ftp":"cmp_ftp"}
DOKPLOY_API_TIMEOUT=10
```
- `DOKPLOY_APPLICATION_IDS` is a JSON object mapping human labels to Dokploy `applicationId` values. Those IDs drive the SuperAdmin widget buttons.
- The API key needs permission to read the project, query deployments, and trigger `application.redeploy` / `application.reload`.
- `DOKPLOY_COMPOSE_IDS` ist eine JSON-Map Label → `composeId` (siehe Compose-Detailseite in Dokploy). Diese IDs steuern Widget & Buttons.
- Optional kannst du weiterhin `DOKPLOY_APPLICATION_IDS` pflegen, falls du später einzelne Apps statt Compose-Stacks integrieren möchtest.
- Die API benötigt Rechte für `compose.one`, `compose.loadServices`, `compose.redeploy`, `compose.stop` etc.
## 3. Project & server setup
@@ -77,7 +78,7 @@ Follow these steps for each component:
- Optionally create a dedicated container for Horizon using `docs/queue-supervisor/horizon.sh`.
4. **vsftpd + Photobooth control**
- Deploy the ftp image (see `docker-compose` setup) or reuse Dokploys Docker Compose support.
- Nutze deinen bestehenden Docker-Compose-Stack (z.B. `docker-compose.dokploy.yml`) oder dedizierte Compose-Applikationen.
- Mount `photobooth` volume read-write.
5. **Database/Redis**
@@ -89,17 +90,16 @@ Follow these steps for each component:
## 5. SuperAdmin observability (Dokploy API)
The SuperAdmin dashboard now uses the Dokploy API to fetch health data and trigger actions:
Das SuperAdmin-Dashboard nutzt jetzt ausschließlich Compose-Endpunkte:
1. **Config file** `config/dokploy.php` reads the environment variables above.
2. **Client** `App\Services\Dokploy\DokployClient` wraps key endpoints:
- `GET /application.one?applicationId=...` → status + metadata.
- `GET /application.readAppMonitoring?appName=...` → CPU & memory metrics.
- `GET /deployment.all?applicationId=...` → latest deployments for history.
- `POST /application.reload` (requires `applicationId` + `appName`).
- `POST /application.redeploy` (redeploy latest commit).
3. **Widgets / pages** `DokployPlatformHealth` widget displays the mapped applications, and the `DokployDeployments` page exposes reload/redeploy buttons plus a log table (`InfrastructureActionLog`).
4. **Auditing** all actions persist to `infrastructure_action_logs` with user, payload, response, and status code.
1. **Config file** `config/dokploy.php` liest `DOKPLOY_COMPOSE_IDS`.
2. **Client** `App\Services\Dokploy\DokployClient` kapselt:
- `GET /compose.one?composeId=...` für Meta- und Statusinfos (deploying/error/done).
- `GET /compose.loadServices?composeId=...` für die einzelnen Services innerhalb des Stacks.
- `GET /deployment.allByCompose?composeId=...` für die Deploy-Historie.
- `POST /compose.redeploy`, `POST /compose.deploy`, `POST /compose.stop` (Buttons im UI).
3. **Widgets / Pages** `DokployPlatformHealth` zeigt jeden Compose-Stack inkl. Services; die `DokployDeployments`-Seite bietet Redeploy/Stop + Audit-Log (`InfrastructureActionLog`).
4. **Auditing** jede Aktion wird mit User, Payload, Response & HTTP-Code in `infrastructure_action_logs` festgehalten.
Only SuperAdmins should have access to these widgets. If you rotate the API key, update the `.env` and deploy the app to refresh the cache.
@@ -111,12 +111,12 @@ Only SuperAdmins should have access to these widgets. If you rotate the API key,
## 7. Production readiness checklist
1. All applications deployed in Dokploy with health checks and attached volumes.
1. Alle Compose-Stacks in Dokploy laufen mit Health Checks & Volumes.
2. `photobooth` volume mounted for Laravel + vsftpd + control service.
3. Database/Redis backups scheduled (Dokploy snapshot or external tooling).
4. `.env` contains the Dokploy API credentials and application ID mapping.
5. Scheduler, workers, and Horizon logging visible in Dokploy.
6. SuperAdmin widgets show green health states and allow reload/redeploy actions.
4. `.env` enthält die Dokploy-API-Credentials und `DOKPLOY_COMPOSE_IDS`.
5. Scheduler, Worker, Horizon werden im Compose-Stack überwacht.
6. SuperAdmin-Widget zeigt die Compose-Stacks und erlaubt Redeploy/Stop.
7. Webhooks/alerts configured for failed deployments or unhealthy containers.
With this setup the Fotospiel team can manage deployments, restarts, and metrics centrally through Dokploy while Laravels scheduler and workers continue to run within the same infrastructure.