admin widget zu dokploy geswitched, viele übersetzungen im Frontend vervollständigt und Anlässe-Seiten mit ChatGPT ausgebaut
This commit is contained in:
@@ -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 Dokploy’s 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 Laravel’s scheduler and workers continue to run within the same infrastructure.
|
||||
|
||||
Reference in New Issue
Block a user