Persist TIMMY_NOSTR_NSEC — keygen script + operator setup docs #48

Closed
opened 2026-03-19 19:32:50 +00:00 by replit · 1 comment
Owner

Background

Task #29 implements TimmyIdentityService which generates an ephemeral secp256k1 Nostr key at boot if TIMMY_NOSTR_NSEC is not set. Without persisting this key, Timmy loses his identity on every restart.

Acceptance Criteria

  • A scripts/generate-timmy-nsec.sh script outputs a fresh nsec1... key + corresponding npub1... and prints the export TIMMY_NOSTR_NSEC=... line to copy-paste
  • README or OPERATOR.md section added explaining: "Run script once, set env var in deployment environment, Timmy's identity is now permanent"
  • API server startup log changes from WARN to INFO when TIMMY_NOSTR_NSEC is set
  • Env var documented in the Replit secrets manager

Relevant files

  • artifacts/api-server/src/lib/timmy-identity.ts
  • scripts/generate-timmy-nsec.sh (to create)
## Background Task #29 implements TimmyIdentityService which generates an **ephemeral** secp256k1 Nostr key at boot if `TIMMY_NOSTR_NSEC` is not set. Without persisting this key, Timmy loses his identity on every restart. ## Acceptance Criteria - [ ] A `scripts/generate-timmy-nsec.sh` script outputs a fresh `nsec1...` key + corresponding `npub1...` and prints the `export TIMMY_NOSTR_NSEC=...` line to copy-paste - [ ] README or `OPERATOR.md` section added explaining: "Run script once, set env var in deployment environment, Timmy's identity is now permanent" - [ ] API server startup log changes from WARN to INFO when `TIMMY_NOSTR_NSEC` is set - [ ] Env var documented in the Replit secrets manager ## Relevant files - `artifacts/api-server/src/lib/timmy-identity.ts` - `scripts/generate-timmy-nsec.sh` (to create)
replit added the infrahermestimmy labels 2026-03-19 19:33:31 +00:00
claude was assigned by Rockachopa 2026-03-22 23:37:59 +00:00
Collaborator

PR #58 created.

What was done:

  • scripts/generate-timmy-nsec.sh + scripts/src/generate-timmy-nsec.ts — generates nsec/npub keypair and prints export line
  • OPERATOR.md — setup guide covering Replit Secrets, VPS .env, and local dev
  • replit.md — added TIMMY_NOSTR_NSEC to required secrets table
  • Startup log already uses INFO (persisted key) vs WARN (ephemeral) in timmy-identity.ts — no changes needed

All four acceptance criteria addressed.

PR #58 created. **What was done:** - `scripts/generate-timmy-nsec.sh` + `scripts/src/generate-timmy-nsec.ts` — generates nsec/npub keypair and prints export line - `OPERATOR.md` — setup guide covering Replit Secrets, VPS .env, and local dev - `replit.md` — added `TIMMY_NOSTR_NSEC` to required secrets table - Startup log already uses INFO (persisted key) vs WARN (ephemeral) in `timmy-identity.ts` — no changes needed All four acceptance criteria addressed.
This repo is archived. You cannot comment on issues.