familyfedie-website/docs/ADMIN.md
Loyyd b8cd4f0789
All checks were successful
/ deploy (push) Successful in 47s
Connect contact form to Formspree
2026-07-10 11:30:52 +02:00

2.1 KiB

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

The default hosted form endpoint and submissions inbox are configured in src/config/contact.ts. The deployed form sends submissions through Formspree. Set PUBLIC_CONTACT_FORM_ENDPOINT during the build only when overriding the committed endpoint with another Formspree form or hosted provider.

Optional variables:

  • PUBLIC_CONTACT_RECIPIENTS: comma-separated mail fallback recipients.
  • PUBLIC_CONTACT_SUBMISSIONS_URL: override for the admin submissions-inbox URL.

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.