v0.10.0: Docker + Update-Funktion + deploy.sh

This commit is contained in:
2026-07-02 21:14:18 +02:00
parent 85118c5bcc
commit af2aa1eaf5
20 changed files with 1169 additions and 11 deletions
+39 -1
View File
@@ -9,6 +9,40 @@ Dieses Projekt verwendet [Semantic Versioning](https://semver.org/lang/de/).
---
## [0.10.0] - 2026-07-02
### Added
- Docker-Setup: `Dockerfile` (PHP 8.5 FPM + nginx + Node.js 20 + nmap + supervisor), `docker-compose.yml` (App + MariaDB 11), automatischer Startup via `entrypoint.sh` (wartet auf DB, migriert, baut Assets, startet Supervisor)
- `docker/nginx.conf`, `docker/supervisord.conf`: nginx als Reverse-Proxy zu PHP-FPM, Laravel Scheduler als Supervisor-Job
- `.dockerignore` für minimale Image-Größe
- `.env.example` auf Docker-Betrieb angepasst (DB_HOST=db, MariaDB-Variablen, APP_PORT)
- Software-Update-Funktion: Admin → Einstellungen → 🔄 Software-Update
- `config/version.php`: zentrale Versionsverwaltung, konfigurierbare Gitea-URL
- Artisan-Command `app:check-update`: prüft Gitea-API auf neuere Release-Tags, speichert Ergebnis 6 Stunden im Cache
- Artisan-Command `app:install-update`: führt `git fetch`, `git checkout <tag>`, `composer install`, `npm run build`, `php artisan migrate`, Cache-Rebuild durch — mit automatischem Wartungsmodus
- `UpdateController` (Admin): Update-Seite mit Versionsvergleich, Release-Notes, Install-Button, manueller Tag-Eingabe
- Navigation: „Update"-Badge im Einstellungen-Dropdown wenn neue Version verfügbar (liest aus Cache, kein Live-HTTP-Request)
- Update-Check alle 6 Stunden via Laravel Scheduler (`app:check-update`)
- Wartungsseite `errors/maintenance.blade.php` mit Auto-Reload
### Setup (einmalig)
```
GITEA_URL=http://<IP-des-Gitea-Servers>:3000
GITEA_REPO=admin/Network-MGMT
```
In `.env` eintragen, danach steht der Update-Check zur Verfügung.
### Docker-Deployment
```bash
git clone http://<gitea>:3000/admin/Network-MGMT.git
cd Network-MGMT
cp .env.example .env
# .env anpassen (Passwörter, APP_URL, GITEA_URL)
docker compose up -d --build
```
---
## [0.9.0] - 2026-07-02
### Added
@@ -18,10 +52,13 @@ Dieses Projekt verwendet [Semantic Versioning](https://semver.org/lang/de/).
- Alle anderen Ereignisse auf dem Dashboard ebenfalls mit inline Notiz quittierbar
- Geräte-Detailseite: IP-Verlauf zeigt Hinweis wenn ein Gerät mehrere verschiedene IPs hatte, alle bekannten IPs als Tags, aktuelle IP hervorgehoben
- Globale Suche: `netbios_name` wird jetzt mitdurchsucht
- Globale Suche: Zeigt auch Treffer direkt aus `network_hosts` (Scan-Verlauf) wenn noch kein Geräteeintrag vorhanden
- Artisan-Command `network:backfill-devices`: Erstellt `network_devices`-Einträge für alle bestehenden `network_hosts` ohne `device_id`
### Setup (einmalig)
```
php artisan migrate
php artisan network:backfill-devices
```
---
@@ -152,7 +189,8 @@ php artisan migrate
- Grundlegende PHP-Projektstruktur (public/, src/, config/)
- composer.json, .gitignore, README.md
[Unreleased]: http://localhost:3000/admin/Network-MGMT/compare/v0.9.0...HEAD
[Unreleased]: http://localhost:3000/admin/Network-MGMT/compare/v0.10.0...HEAD
[0.10.0]: http://localhost:3000/admin/Network-MGMT/compare/v0.9.0...v0.10.0
[0.9.0]: http://localhost:3000/admin/Network-MGMT/compare/v0.8.0...v0.9.0
[0.8.0]: http://localhost:3000/admin/Network-MGMT/compare/v0.7.0...v0.8.0
[0.7.0]: http://localhost:3000/admin/Network-MGMT/compare/v0.6.0...v0.7.0