mirror of
https://github.com/Patiun/com.gregkilmer.www.git
synced 2026-11-07 19:58:24 +00:00
e3b0cf60c5
- Sync scheduler in the content service with a per-job cache (sync_cache), sync_runs reporting and Healthchecks pings. Jobs: Archidekt, BoardGameGeek, cover art (Open Library, TMDB, AniList), Suwayomi and Kavita reading progress, Bambuddy filament and Homebox material stock. A note's own value always wins over a synced one. - PersonalReader: updates only Library notes with a matching anilistId, changes to Greg's notes are held for review; Reading series with no note show as suggestions on the admin Overview. - /api/inquiries and /api/orders: Turnstile, rate limits, a saved copy in the content service (intake token) plus email over SMTP. Orders are re-checked against the live notes: accepted only when the category's ordersOpen is true and the line has capacity. - Admin Inbox for saved submissions. Options' inStock is optional so synced stock can fill it. All settings from process.env; .env.example per service. - Sources could not be reached from the build environment; parsers are tested against fixtures labelled as not live. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
37 lines
1.5 KiB
Bash
37 lines
1.5 KiB
Bash
# Site settings. Set them in the container's environment (never commit real
|
|
# values). Read from process.env at run time only. See docs/site.md.
|
|
|
|
# --- Content service ----------------------------------------------------------
|
|
CONTENT_URL=http://localhost:4310
|
|
# Reader token: published notes, and the live store check for orders.
|
|
CONTENT_TOKEN=
|
|
# Intake token: files saved copies of inquiries and orders, can read nothing.
|
|
CONTENT_INTAKE_TOKEN=
|
|
|
|
# --- Forms: Cloudflare Turnstile ---------------------------------------------
|
|
# The widget shows on both forms when the site key is set.
|
|
PUBLIC_TURNSTILE_SITE_KEY=
|
|
# When set, a post without a valid token is turned down (fails closed if
|
|
# Cloudflare cannot be reached). Unset in local development.
|
|
TURNSTILE_SECRET_KEY=
|
|
|
|
# --- Forms: email (nodemailer over SMTP) --------------------------------------
|
|
# Without SMTP_HOST no email is sent; the saved copy in the admin Inbox stands.
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USER=
|
|
SMTP_PASS=
|
|
SMTP_FROM=GregKilmer.com <no-reply@gregkilmer.com>
|
|
# Only for a relay on the same private network with a self-signed certificate.
|
|
SMTP_ALLOW_SELFSIGNED=false
|
|
CONTACT_TO=contact@gregkilmer.com
|
|
ORDER_TO=orders@gregkilmer.com
|
|
|
|
# --- Forms: limits --------------------------------------------------------------
|
|
# Posts per visitor address per window.
|
|
CONTACT_RATE_LIMIT=5
|
|
CONTACT_RATE_WINDOW_MIN=15
|
|
# ORDER_RATE_LIMIT and ORDER_RATE_WINDOW_MIN default to the CONTACT_ values.
|
|
# Largest inquiry attachment in MB; keep it at or under the content service's SUBMISSION_MAX_MB.
|
|
FORM_MAX_ATTACHMENT_MB=10
|