51 lines
2 KiB
Markdown
51 lines
2 KiB
Markdown
# 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 OAuth2/OIDC through Pocket ID. 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.
|
|
|
|
If Pocket ID says `Invalid callback URL`, the FamilyFed Admin OIDC client must
|
|
allow `https://admin.familyfed.ie/oauth2/callback`. See `docs/OAUTH2-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.
|