- admin/: LAN web panel (Flask + waitress + python-pam), status servisa, PAM login sa idriz korisnikom, vertikalni meni. Port 8080, samo LAN. - systemd/idriz-admin.service: korisnički servis, enabled + Restart=always + StartLimitIntervalSec=0. - systemd/idriz.service: dodan StartLimitIntervalSec=0 (repo je bio zastario). Od sada sav aplikacioni source code ide u ovaj repo. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LzKpYaEsuWDevuNnvSjcFW
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# Idriz Admin
|
|
|
|
Jednostavan LAN web panel za mašinu `idriz`. Namjerno minimalan:
|
|
**Flask + waitress + python-pam**, jedan fajl (`app.py`), bez baze podataka.
|
|
|
|
## Šta radi
|
|
- Prijava preko **PAM-a** (Linux korisnik `idriz`, ista lozinka kao sistemska).
|
|
- Stranica **Status servisa** — pregled sistemskih i korisničkih servisa
|
|
(idriz, CUPS, VNC, PipeWire...) sa stanjem, autostartom, uptime-om, PID-om i memorijom.
|
|
- Vertikalni meni sa lijeve strane (spremno za dodavanje novih stranica).
|
|
|
|
## Pristup
|
|
- URL: `http://192.168.1.10:8080/` (samo sa LAN-a).
|
|
- Korisnik: `idriz`, lozinka: sistemska lozinka tog korisnika.
|
|
|
|
## Pokretanje
|
|
Radi kao **korisnički systemd servis** (mora biti user servis zbog pristupa
|
|
`systemctl --user` servisima kao što je `idriz.service`):
|
|
|
|
```
|
|
systemctl --user status idriz-admin
|
|
systemctl --user restart idriz-admin
|
|
journalctl --user -u idriz-admin -f
|
|
```
|
|
|
|
Enabled je za boot; `Restart=always` + `StartLimitIntervalSec=0` (nikad ne odustaje).
|
|
|
|
## Struktura
|
|
- `app.py` — cijela aplikacija (konfiguracija servisa je lista `SERVICES` na vrhu).
|
|
- `templates/base.html` — layout + vertikalni meni + stil.
|
|
- `templates/login.html`, `templates/status.html`.
|
|
- PAM servis: `/etc/pam.d/idriz-admin`.
|
|
|
|
## Dodavanje novog servisa u praćenje
|
|
Dopiši red u listu `SERVICES` u `app.py` (`unit`, `scope`, `label`, `desc`) i
|
|
restartuj: `systemctl --user restart idriz-admin`.
|
|
|
|
## Dodavanje nove stranice u meni
|
|
1. Nova ruta u `app.py` sa `@login_required`.
|
|
2. Novi `<a>` u `templates/base.html` (u `.nav`), sa `active` klasom preko `active_page`.
|