Hallway · Docs
Hva er dette
En alltid-på dashbord for et veggmontert skjerm. Viser klokke, vær, kalender, live avganger fra Entur, dagslys, pollen, luftkvalitet, nedtellinger og nyheter. All konfigurasjon skjer i /admin — ingen filer å redigere.
Widgets
- Klokke + vær — tid, dato, temperatur og 9-timers prognose
- Kalender — flere visninger: neste 7 dager, denne uken, måneden, eller bare i dag
- Avganger — Entur live, valgte linjer, gangtid per stopp
- Neste avgang — den tidligste du faktisk rekker basert på gangtid
- Ut døra — om du trenger jakke / paraply / lue, derivert fra vær
- Dagslys — soloppgang / solnedgang + progressbar
- Luft ute — luftkvalitet i din gate (met.no airqualityforecast)
- Pollen — bjørk, gress, or, burot, oliven, ambrosia (Open-Meteo)
- Nedtelling — egne datoer (bryllup, ferie, etc.)
- Nyheter — RSS fra NRK, VG, eller egne kilder
Layout & playlist
Hver layout er et fritt rutenett (12×8 i liggende, 8×12 i stående som standard). Dra topplinjen på en widget for å flytte, dra hjørnet for å endre størrelse. Nye widgets plasseres i første ledige plass. Dra én oppå en annen for å bytte plass.
Du kan ha flere lagrede layouts — dupliser, navngi, og bytt mellom dem. Slå på Playlist for at skjermen skal rotere mellom valgte layouts automatisk (standard hvert 5. minutt).
Live-oppdateringer
Når du klikker Lagre i /admin pushes endringene umiddelbart til dashbord-fanen via Server-Sent Events. Ingen reload nødvendig — skjermen kan stå urørt i gangen mens du justerer fra telefonen på samme nettverk.
Tema
Åtte innebygde temaer (Mørk, Lys, Papir, Mørkt papir, Skarp kontrast, Morgen, Kveld, Sol). Du kan også lage egne — sett alle 7 fargene (bakgrunn, kort, tekst, sekundærtekst, svak tekst, strek, aksent) via color-picker.
Persistence — overlever reboot og deploy
Innstillinger lagres i data/settings.json som default. Denne mappen er .gitignored, så git pull + pnpm build tar ikke filen — den ligger urørt og lastes automatisk når serveren starter.
For å lagre utenfor prosjektkatalogen, sett env-variabel:
HALLWAY_DATA_DIR=/var/lib/hallway pnpm start
For hver lagring beholdes også en backup som settings.bak.json. Hvis hovedfilen blir korrupt, lastes backup automatisk.
I admin-panelet finner du Sikkerhetskopi-seksjonen med eksport- og importknapper for full JSON-snapshot.
Eksterne API-er
- met.no — vær, dagslys, luftkvalitet (ingen nøkkel, kun User-Agent)
- Entur — avganger og stopp-søk (kun ET-Client-Name)
- Open-Meteo — pollen (gratis, ingen nøkkel)
- ICS-feeds — Google Calendar, iCloud, Outlook, Fastmail, m.fl. (webcal:// støttes)
- RSS-feeds — alle standard RSS for nyhets-widgeten
Distribusjon
Raspberry Pi (anbefalt for vegg)
# på Pi git clone <repo> cd hallway-dashboard pnpm install pnpm build pnpm start # pek Chromium kiosk-modus mot http://localhost:3000
Se scripts/kiosk-setup.md for systemd + Chromium-kiosk-oppsett, inkludert portrait-rotasjon.
Docker
Mount et persistent volum: -v /opt/hallway/data:/data -e HALLWAY_DATA_DIR=/data.
Vercel / serverless
Filebasert lagring overlever ikke kald-start. Bytt ut lib/storage.ts til å bruke Vercel KV eller annen persistent KV. Bare den filen trenger endring.
Sikkerhet
/admin har ingen autentisering. Design-antagelsen er at Pi-en står på ditt private hjemmenett. Eksponér ikke port 3000 mot internett. iCal-lenker gir lese-tilgang — behandle dem som passord. Gen-er en ny i Google/iCloud-innstillingene hvis en lenke lekker.