Files
smirk-backend-core/examples/public-free
jwinterm d96f457b69 docs(examples): operator cookbook — six deployment recipes + premium-relay spec
Add ready-to-run .env + README recipes (personal, public-free, friends,
paid-access, paid-relay, community) and the premium-relay design overview,
with audit fixes to the config template and spec:

- Drop the inert INSTANCE_ID knob (config never read it) and document the real
  per-node id, which is derived from ADMIN_PUBLIC_URL.
- Warn that a placeholder PUBLIC_API_URL is rejected at boot in production
  (Nostr identity is on by default); soften the recipe "boots today" status.
- Remove dead template vars: BTC/LTC Core-RPC settings and the non-existent
  PUBLIC_EXPOSE_FEATURES (replaced with the real per-field landing switches).
- Mark ALTCHA_HMAC_KEY conditional in PoW-off recipes; blank placeholder
  payment creds so a recipe doesn't ship a key that fails validation.
- Fix premium-relay spec drift: the migration creates no premium_until index,
  disabled endpoints return 400/200 (not 404), and neutralize operator voice.
2026-07-02 19:47:46 -04:00
..

public-free — a free, open public instance

Anyone can register and use the wallet; spam is gated by proof-of-work, not payment. This is the shape a free, open public instance runs.

  • Config: .env.example — POW_REQUIRED=true, no invite/payment gate, WALLET_RESTORE_POLICY=bounded + PoW-priced, relay off at launch.
  • Boot: copy → .env, generate secrets, reuse your existing daemons / LWS, run the binary. Front it with TLS; bind the API to 127.0.0.1.
  • No money changes hands, so there is no payment/consumer-sale surface — just have a Terms + Privacy that disclose what the backend receives (see ../LEGAL_AND_OPS.md).