# ── 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.