Replace the community relay-setup guides with a first-party step-by-step guide on the website
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- docker, nginx, typescript, ubuntu
- Área
- documentation
Línea de trabajo
Start with README.md, deploy/README.md, CLI.md, CONFIGURATION.md, and the website/site docs and get-started pages to find the current setup steps and how repository files become website pages. Build the guide from those sources, then verify its commands against the named release on a clean Ubuntu 24.04 VPS and run the website build. Done means the guide and links meet the acceptance criteria, including a working WSS relay, valid NIP-11 response, and successful event publish/read.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Replace the two third-party guides that currently serve as nostream's onboarding path with one guide we own and keep working.
Why
README.md § Full Guide points only at community write-ups:
- "Set up a Paid Nostr relay with Nostream and ZEBEDEE" —
https://docs.zbdpay.com/payments/nostr/nostr-relay. Dead link: 301s tohttps://docs.zbdpay.com/bitcoin/payments/coverage, a generic "Global Support" page with no nostream or relay content. - "Set up a Nostr relay in under 5 minutes" —
https://andreneves.xyz/p/set-up-a-nostr-relay-server-in-under. Still loads (200), but it is a December 2022 Substack post that clones the repo, runspnpm installon the host, writessettings.yamlby hand and fronts it with nginx + certbot. Nothing in it matches today's Compose CLI, the GHCR production image, or thedeploy/bootstrap path.
The website (website/site, deployed to nostream.dev) has no operator guide at all: /get-started is the agent-schematic card and /docs is a set of reference pages (quick start, CLI, configuration, deploy, runbook, Tor/I2P, Redis). Its docs index reads "Every page here is rendered from the repository, so it matches the code" — true for the reference pages, but the only narrative, end-to-end setup path it offers is the README. So both surfaces inherit the same legacy guides.
A reader who wants to stand up a relay without an AI agent currently has no first-party, current, step-by-step path.
What to build
One canonical guide on the website, published under /docs (e.g. /docs/setup), written and reviewed in this repo and rendered from a file in the repo so the "rendered from the repository" claim stays true.
Suggested spine, drawn from deploy/README.md, CLI.md and CONFIGURATION.md — adjust where they disagree:
- What you need — Linux host, Docker Engine + Compose plugin installed from Docker's apt/yum repo (not snap), a domain you control, DNS A/AAAA pointed at the host.
- Get the code —
git cloneandcd nostream; note the release-managed files vs. your.env. - Bootstrap the deploy root —
./deploy/bootstrap.sh /opt/nostream, what it creates,.envpermissions, the generatedSECRET. - Choose the relay image —
ghcr.io/cameri/nostream:<tag>versus a local build, and how pinned tags relate to releases. - Configure
.env—RELAY_URL/ domain, secrets, optional payment processor keys; link toCONFIGURATION.mdrather than duplicating every key. - First start —
docker compose up -d, confirming Postgres and Redis are healthy, migrations ran, and the relay is listening on loopback only. - Put it behind TLS — Caddy or nginx in front (pick one as the primary path), WebSocket upgrade headers, then accept
wss://in a client. - Verify — NIP-11 document over HTTPS,
/healthzand/readyz, publish one event and read it back,nostream info. - Keep it running — updating via
deploy/recreate-relay.sh, backups, log location; link to the deploy runbook and HAProxy page instead of repeating them. - Optional next steps — payments (link to the existing payments section), Tor/I2P page, manual/admin console.
Requirements for the guide:
- Every command must be copy-pasteable and run against the current release. Strip dead or stale commands from the community guides rather than inheriting them.
- State the version it was verified against and how it will be kept current (e.g. reviewed when a release changes
deploy/). - No referral links, no third-party product upsells, no screenshots that go stale.
- Call out what a reader should not do (copy
migrations/to the host, write a fullsettings.yaml, expose the relay port directly) — the traps the old guides taught.
README change: replace the § Full Guide list with a single link to the website guide, plus a one-line "prefer to do it by hand?" pointer to /docs. Keep the in-repo quick starts in place; they are referenced by website/site docs pages and by CLI.md. The line in § Accepting Payments that says "Complete one of the Quick Start guides in this document" should point at whichever path is canonical.
Website change: /docs index gets the guide as the "Start here" card ahead of the reference pages; /get-started gains a visible "or set it up yourself → /docs/setup" link so the schematic is not the only route on that page.
Out of scope
- Rewriting the third-party guides' authors or crediting them differently (a short "further reading" line may remain).
- Provider-specific guides (AWS is issue #645; Railway has its own template).
- Changes to the Rust rewrite's docs.
Acceptance criteria
-
https://nostream.dev/docs/setupexists, is linked from/docsand from/get-started, and is built from a tracked file in the repo. - Following the guide on a clean Ubuntu 24.04 VPS reaches a relay answering
wss://with a valid NIP-11 document and a successful event publish/read, with no step that is not in the guide. -
README.md§ Full Guide no longer links a dead URL and points to the verified guide; the ZEBEDEE/ZBD link is gone. - No command in the guide fails against the release named at its top.
-
pnpm --dir website/site build(or the site's build command) passes.
- Lenguaje dominante
- TypeScript
- Estrellas
- 829
- Forks
- 234
- Merge medio
- 18 h 43 min
- PR fusionados (30 d)
- 67
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cameri/nostream
-
Website
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
fix(website): update operator console film with fresh notifications screenshotPosiblemente ocupada @Ferryx349 la tomó hoy. Abiertobug Website
cameri/nostream#893 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Los mantenedores suelen responder en 1 día
Todos los issues de cameri/nostream
Issues similares
-
Add: Tequila Music TV RO SDAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
iptv-org/iptv#55821 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vercel-labs/wterm#246 ·
Los mantenedores suelen responder en 1 día
-
bug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
nearform/lastlight#452 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
fix(console): include PARTITIONED BY in generated table DDLPosiblemente ocupada @aubdiy la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/polaris-tools#291 ·
Los mantenedores suelen responder en 6 días