Files
smirk-backend-core/examples/personal/.env.example
T
jwinterm 9c75bc6bdd docs(examples): operator cookbook + premium-relay spec
examples/: an operator "cookbook" turning the backend's composable knobs
(registration gates, relay write policy, restore policy, feature flags) into
ready-to-run recipes per persona — personal, public-free (what the reference
instance runs), friends, paid-access, community, and paid-relay (the flagship:
free wallet + paid premium Nostr posting). Plus LEGAL_AND_OPS.md, a
not-legal-advice considerations checklist that points operators at their own
counsel and at the project's own published docs as a worked example. Recipes use
placeholders only.

docs/design/premium-relay.md: the premium-relay feature spec (reconciled to the
shipped design — dedicated premium_invoices table, transactional activate).
2026-07-02 17:57:13 -04:00

57 lines
2.1 KiB
Bash

# ── Recipe: personal ────────────────────────────────────────────────────────
# Your own sovereign backend — one user (you), no gates, your rules.
#
# Start from ../../.env.example, then apply the lines below (they are what make
# this recipe "personal"). Generate each secret with: openssl rand -hex 32
# ─────────────────────────────────────────────────────────────────────────────
SERVER_HOST=127.0.0.1
SERVER_PORT=8080
PUBLIC_API_URL=https://your-domain.example/api/v1
ENVIRONMENT=production
INSTANCE_ID=my-personal-node
# Unix socket + peer auth (run the service as the DB-owning OS user) — no password.
DATABASE_URL=postgresql:///smirk?host=/var/run/postgresql
# Secrets (REQUIRED; openssl rand -hex 32 each).
JWT_SECRET=
SEED_FINGERPRINT_PEPPER=
REFRESH_TOKEN_PEPPER=
IP_SALT=
ALTCHA_HMAC_KEY=
# No gates — it's just you.
POW_REQUIRED=false
REGISTRATION_REQUIRE_INVITE=false
REGISTRATION_REQUIRE_PAYMENT=false
# Your node, your rules — scan as far back as you like on import.
WALLET_RESTORE_POLICY=unlimited
# Prices on; tips parked (v0.3 redesign).
FEATURE_PRICES=true
FEATURE_TIPS=false
# Relay off — one person doesn't need a public inbox. Flip RELAY_ENABLED=true
# (with RELAY_URL + RELAY_WRITE_POLICY=author-allowlist) if you want your own
# DM relay that only you can publish to.
RELAY_ENABLED=false
# Admin HTTP plane off — the smirk-admin CLI (break-glass) is enough solo. Keep
# ADMIN_KEY_INTEGRITY_SECRET set so the CLI works.
ADMIN_ENABLED=false
ADMIN_KEY_INTEGRITY_SECRET=
# Chain endpoints — point at YOUR nodes / light-wallet servers. See the full list
# and formats in ../../.env.example (XMR/WOW LWS + daemon, GRIN_*, BTC/LTC electrum).
XMR_LWS_URL=
XMR_LWS_ADMIN_URL=
XMR_LWS_ADMIN_KEY=
XMR_DAEMON_URL=
WOW_LWS_URL=
WOW_LWS_ADMIN_URL=
WOW_LWS_ADMIN_KEY=
WOW_DAEMON_URL=
# BTC_ELECTRUM_FALLBACKS=..., LTC_ELECTRUM_FALLBACKS=..., GRIN_* — see root example.