mirror of
https://github.com/Such-Software/smirk-backend-core.git
synced 2026-10-17 07:21:32 +02:00
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.
59 lines
2.3 KiB
Bash
59 lines
2.3 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
|
|
# REQUIRED: replace with YOUR real https domain. The your-domain.example placeholder
|
|
# is rejected at boot in production (Nostr identity is on by default).
|
|
PUBLIC_API_URL=https://your-domain.example/api/v1
|
|
ENVIRONMENT=production
|
|
|
|
# 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 — only needed if you set FEATURE_POW=true (this recipe leaves PoW off).
|
|
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.
|