Add admin dashboard and Pocket ID auth notes
All checks were successful
/ deploy (push) Successful in 42s

This commit is contained in:
Loyyd 2026-06-13 09:34:28 +02:00
parent fc5762d267
commit 06093af633
10 changed files with 947 additions and 29 deletions

49
docs/ADMIN.md Normal file
View file

@ -0,0 +1,49 @@
# FamilyFed.ie admin notes
The admin dashboard is generated at `/admin/index.html`. To make
`https://admin.familyfed.ie/` show the dashboard, configure the web server or
reverse proxy for that hostname to serve `dist/admin/index.html` as its root
document.
Protect `admin.familyfed.ie` at the web server, reverse proxy, or hosting layer
with Pocket ID authentication. Require the Pocket ID user group
`familyfed_admin`. The generated page has `noindex`, but a static page cannot
enforce a secure admin login by itself.
See `docs/POCKET-ID-AUTH.md` for the exact proxy/auth requirements.
## Content changes
- Calendar events live in `src/data/events.ts`.
- Speeches live in `content/speeches/<year>/<slug>.md`.
- The admin page includes builders that generate valid snippets/files for both.
Because this is a static Astro site, the browser cannot securely write content
back into the repository by itself. Commit generated content changes to the
repository and deploy as usual.
## Contact form
Set `PUBLIC_CONTACT_FORM_ENDPOINT` during the build to make the contact form
send real submissions through a hosted form provider such as Formspree, Basin,
Getform, or a self-hosted endpoint.
Optional variables:
- `PUBLIC_CONTACT_RECIPIENTS`: comma-separated mail fallback recipients.
- `PUBLIC_CONTACT_SUBMISSIONS_URL`: admin dashboard URL for form submissions.
If no endpoint is configured, the form falls back to opening the visitor's email
application with the message filled in.
For deployment, add the matching variables as Forgejo secrets. The deploy
workflow passes them into the Astro build.
## Analytics
Set `PUBLIC_PLAUSIBLE_DOMAIN=familyfed.ie` to load Plausible analytics on the
public site. If using a self-hosted Plausible instance, set
`PUBLIC_PLAUSIBLE_SCRIPT_SRC` to the script URL.
Set `PUBLIC_ANALYTICS_DASHBOARD_URL` to the analytics dashboard URL so the admin
page can link directly to visitor reports.