# State — Lunkaberg Frukost (OpenResto) ## What this is Client project for lunkaberg.se — a breakfast booking service, built on [OpenResto](https://get.openres.to) (open source, MIT), self-hosted at `frukost.lunkaberg.se`. ## Stack - OpenResto v2.2.0, official pre-built images (`ghcr.io/karanshukla/openresto-*`) - Backend: ASP.NET Core 10 + SQLite (in `db_data` volume) - Frontend: React (Expo/React Native web build) - Reverse proxy: bundled nginx container (`lunkaberg-reverse-proxy`), fronted by this server's Nginx Proxy Manager — no host ports published, everything rides the shared `my-main-net` Docker network like the other app projects on this box. - Location: `/var/www/lunkaberg/` - Git: tracked, remote at `https://gitea.axbom.com/root/LunkabergB.git` (this is a client project, so — unlike most of Per's hobby projects — it's using real version control instead of live-editing.) ## Status as of 2026-09-21 - [x] Project directory created, git initialized, Gitea remote added - [x] docker-compose.yml adapted from upstream release for the my-main-net / NPM pattern (no host port conflicts with NPM's own 80/443) - [x] .env created with generated JWT_KEY and admin password (not committed — see .env.example for the template) - [ ] `docker compose up -d` — pulling images / bringing the stack up - [ ] DNS: A record for frukost.lunkaberg.se → 64.112.127.212 (Per manages lunkaberg.se DNS himself) - [ ] NPM proxy host for frukost.lunkaberg.se → lunkaberg-reverse-proxy:80 - [ ] First login / admin dashboard walkthrough - [ ] Decide: SMTP for booking confirmation emails (needs a mailbox at lunkaberg.se, separate from Per's personal Migadu setup) - [ ] Decide: push notifications (VAPID), Apple/Google Wallet passes — left disabled for now, app degrades gracefully without them ## Known issues / watch items - Server disk was at 87% (6.5GB free) before pulling OpenResto images — keep an eye on `df -h` after this and future installs.