- Timestamp:
- 07/21/2026 03:45:36 AM (7 weeks ago)
- Branches:
- main
- Children:
- e2ea5c4
- Parents:
- 4590e66
- git-author:
- Robin <roboburr@…> (07/21/2026 03:45:33 AM)
- git-committer:
- Robin <roboburr@…> (07/21/2026 03:45:36 AM)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
README.md
r4590e66 rf574435 15 15 - **Grow**: newsletter, download-for-email, EPK/press kit, link-in-bio, 16 16 show calendar, and **cookie-free statistics**. 17 - **Paid posts** — put a post behind your **own Patreon**. Supporters unlock it 18 with a **passkey**: no account on your site, no cookie, and a patron's identity 19 (name/email) is never stored — only a pseudonymous, expiring entitlement. You 20 connect your Patreon once in the admin and pick a minimum amount per post. 17 21 - **Circles** — a curated feed of the makers you choose: feature accounts (other Klonkt 18 22 sites, Mastodon, PeerTube — any fediverse server) and their public posts appear in your … … 161 165 | Variable | Required | What | 162 166 |---|---|---| 163 | `SESSION_SECRET` | ✅ | Random string of ≥32 characters|167 | `SESSION_SECRET` | auto | Signs login sessions. Leave empty to auto-generate (`storage/.session-secret`), or set a random ≥32-char string. | 164 168 | `PUBLIC_BASE_URL` | ✅ | Canonical URL (e.g. `https://yourdomain.com`) | 169 | `PAID_SECRET` | auto | Encrypts the stored Patreon secrets for **paid posts**. Leave empty to auto-generate on first use (`storage/.paid-secret`), or set your own ≥16-char string. | 165 170 | `SMTP_HOST` / `_PORT` / `_USER` / `_PASS` / `_FROM` | — | Email for password reset + newsletter | 166 171 | `KLONKT_DEFAULT_LANG` | — | Default language for visitors (`en`/`nl`/`de`) | 167 172 | `KLONKT_AUDIO` | — | `off` = lite mode (no audio/ffmpeg) | 173 | `KLONKT_PREMIUM_ENABLED` | — | `on` (default) enables the Patreon-unlocked extras (incl. paid posts) | 168 174 | `HSTS_STRICT` | — | `1` = stricter HTTPS header (`includeSubDomains` + `preload`). Only set this if Klonkt owns the **whole** domain and all its subdomains are HTTPS — it forces every subdomain to HTTPS and can bake your domain into browsers near-permanently. Leave unset otherwise; the default is already safe. | 175 176 ### Auto-generated secrets & backups 177 178 You never have to hand-edit the env for these: Klonkt generates them on first use 179 and keeps them stable across restarts and updates. 180 181 - `SESSION_SECRET` → `storage/.session-secret` (signs login sessions) 182 - `PAID_SECRET` → `storage/.paid-secret` (encrypts the stored Patreon secrets for 183 paid posts) 184 185 The paid-posts key lives **outside** the database on purpose: encrypting the 186 Patreon secrets would be pointless if the key sat in the same file a database 187 dump would leak. Set either variable in `.env` to override the generated one. 188 189 **Back up the whole `storage/` directory** (database, media *and* these key 190 files). Restoring the database without `storage/.paid-secret` leaves the stored 191 Patreon secrets unreadable — you'd have to reconnect Patreon. 169 192 170 193 ## Stack … … 175 198 - **Templates:** EJS (server-rendered) + **htmx 1.9** (vendored, no build step) 176 199 - **Audio:** ffmpeg-static (bundled) 177 - **Fediverse / Circles:** ActivityPub (HTTP Signatures) — federates with Mastodon, PeerTube and other Klonkt sites 200 - **Fediverse / Circles:** ActivityPub (HTTP Signatures) — federates with Mastodon, PeerTube and other Klonkt sites. See [FEDERATION.md](FEDERATION.md) for the supported activities and FEPs. 178 201 - **Fonts:** self-hosted variable woff2 (Fraunces / Plus Jakarta Sans) 179 202
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)