You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guides/demo-mode.md
+23-8Lines changed: 23 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,9 @@ DEMO MODE enabled: in-memory database, PIN disabled, sample data resets every 6h
43
43
| --- | --- | --- |
44
44
| **Database** | SQLite file at `server/data/tasks.db` (persistent) | **In-memory** — wiped when the container stops; `DB_PATH` is ignored |
45
45
| **Admin PIN** | Optional PIN gate on the Admin Panel | **Disabled** — panel opens freely; PIN set/verify/delete return `403` so no visitor can lock others out |
46
-
| **Sample data** | Empty first-run welcome screen | A demo household is **seeded at boot and re-seeded every 6 hours**; new visitor devices auto-enable the chore + calendar widgets |
46
+
| **Sample data** | Empty first-run welcome screen | A demo household is **seeded at boot and re-seeded every 6 hours**; new visitor devices auto-enable the chore, calendar, and weather widgets |
47
+
| **Calendar sync** | Syncs whatever sources you configure | Runs **only for the curated demo feeds** seeded at boot; source add/edit/delete routes are blocked so visitor URLs are never fetched |
48
+
| **Weather** | Live OpenWeatherMap data (your API key) | A **static snapshot of Chili, NY** served from `GET /api/demo/weather` — no API key involved |
47
49
| **Abuse-prone routes** | Available | Return `403` (see below) |
48
50
| **Client banner** | — | A **"Demo Mode — sample data resets every N hours"** banner is shown |
49
51
@@ -58,9 +60,10 @@ mode." }`:
58
60
- **The `/api/proxy` CORS proxy** — so it can't be used as an open relay.
Copy file name to clipboardExpand all lines: docs/reference/configuration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ database). This page covers both.
16
16
|`NODE_ENV`| — |`production` / `development`. |
17
17
|`HOMEGLOW_DISABLE_BACKGROUND_JOBS`|`0`| Set to `1` to disable the nightly chore-pruning cron (useful in tests). |
18
18
|`HOMEGLOW_DISABLE_CALENDAR_SYNC`|`0`| Set to `1` to disable the calendar sync service. |
19
-
|`DEMO_MODE`|`false`| Set to `true` to run a **public demo instance**: in-memory DB (wiped on stop), admin PIN disabled, sample data seeded and reset every 6h, and abuse-prone routes (uploads, CORS proxy, OAuth, outbound calendar fetches) return 403. See the [Demo Mode](../guides/demo-mode.md) guide. |
19
+
|`DEMO_MODE`|`false`| Set to `true` to run a **public demo instance**: in-memory DB (wiped on stop), admin PIN disabled, sample data seeded and reset every 6h (incl. live demo calendar feeds and a static weather snapshot), and abuse-prone routes (uploads, CORS proxy, OAuth, calendar source management) return 403 — calendar sync only ever fetches the seeded demo feeds. See the [Demo Mode](../guides/demo-mode.md) guide. |
20
20
|`BACKEND_VERSION` / `BACKEND_GIT_COMMIT` / `BACKEND_GITHUB_REPOSITORY`| build metadata | Surfaced by `GET /api/stats`; set by CI. |
21
21
22
22
If `ENCRYPTION_KEY` is missing or invalid, the server logs a warning at startup and
{name: 'Town of Chili — Calendar',url: 'https://www.chiliny.gov/common/modules/iCalendar/iCalendar.aspx?catID=14&feed=calendar',color: '#457b9d'},
137
+
{name: 'Town of Chili — Community Events',url: 'https://www.chiliny.gov/common/modules/iCalendar/iCalendar.aspx?catID=30&feed=calendar',color: '#8338ec'},
138
+
];
139
+
129
140
functionseedCalendar(db){
130
-
// Calendar sync never runs in demo mode, so this ICS source is only a label
131
-
// for the cached events below (the URL is never fetched).
141
+
// The Family Calendar's .invalid URL is a placeholder that is never fetched
142
+
// (the sync service skips reserved-TLD hosts); its events are the baked
143
+
// cache entries below, so the demo has content the instant it boots.
0 commit comments