feat: verfijn UX en borg Unraid deployment
deploy / deploy (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-26 02:26:45 +02:00
parent 6c09d16a02
commit eea74f97ef
21 changed files with 1440 additions and 238 deletions
+31 -1
View File
@@ -23,9 +23,17 @@ Gebruik bij voorkeur een cache-backed `appdata`-share en neem die afzonderlijk i
De container verschijnt als **VacatureRadar** en bevat metadata voor:
- WebUI: `http://[IP]:1226/`;
- icoon: het lokale VacatureRadar-favicon op `/static/favicon.svg`;
- icoon: het lokale 256×256 VacatureRadar-PNG op `/static/img/vacatureradar-docker.png`;
- één herstart- en healthcheckpunt voor alle interne processen.
Dockerman haalt het tegelicoon via de gepubliceerde webpoort op en cachet het. De
PNG is daarom een afzonderlijke rasterasset met een stabiel pad; de SVG-favicon
blijft voor browsers behouden. Het icoonlabel gebruikt bewust de concrete
server-side URL `http://127.0.0.1:1226/...`: Dockerman vervangt `[IP]` en
`[PORT:...]` alleen voor de WebUI, niet voordat het een icoon downloadt. Na een
upgrade waarbij het oude icoon nog zichtbaar is, herlaad de Docker-pagina zodat
Dockerman de lokale cache opbouwt.
## Imagekeuze
De Unraid-compose bouwt lokaal met `Dockerfile.unraid` en tagt de image als `vacatureradar:unraid`. Pin voor reproduceerbare releases aanvullend een commitgebonden tag.
@@ -81,6 +89,28 @@ python manage.py collectstatic --noinput
7. Meld lokaal aan en wijzig het bootstrapwachtwoord.
8. Activeer nog geen live bron of mailbox voordat bronbeleid, retentie en back-up zijn gecontroleerd.
## Beheerverbinding en heruitrol
Gebruik vanaf een beheerwerkstation altijd een benoemde SSH-hostalias met een afzonderlijke deploysleutel. Een rechtstreekse verbinding naar het IP-adres kan de lokale standaardgebruiker en standaardsleutel kiezen en daardoor ten onrechte als een server-side authenticatiefout lijken.
```sshconfig
Host unraid-itworx
HostName 192.168.10.150
Port 22
User root
IdentityFile ~/.ssh/itworx_unraid_deploy
IdentitiesOnly yes
```
Controleer de verbinding zonder wachtwoordprompt en voer daarna de beveiligde synchronisatie, imagebuild, containervervanging en health-smoke uit:
```bash
ssh -o BatchMode=yes unraid-itworx 'id -un && docker info >/dev/null'
bash scripts/deploy_unraid.sh
```
`deploy_unraid.sh` weigert een IP-adres, niet-rootprofiel of generieke standaardsleutel. Alleen door Git gekende of niet-genegeerde projectbestanden worden verpakt; `.env`, `local/`, databasebestanden en andere genegeerde runtimegegevens worden niet verzonden. De helper wacht op Docker-health en controleert `/health/ready/` voordat hij succes meldt. Een afwijkende veilige alias kan expliciet via `UNRAID_SSH_HOST` worden ingesteld.
## Releaseverificatie en upgradepad
VR-117 voegt `./scripts/release_verify.sh` toe als release-check met artifacts voor package, checksum, configdiff, sbom en upgrade/rollback.