Skip to content

Add Railway deployment template - #984

Closed
tlongwell-block wants to merge 2 commits into
mainfrom
mari/railway-template-clean
Closed

Add Railway deployment template#984
tlongwell-block wants to merge 2 commits into
mainfrom
mari/railway-template-clean

Conversation

@tlongwell-block

Copy link
Copy Markdown
Collaborator

Summary

Adds a first-party Railway deployment template under deploy/railway/:

  • railway.template.json models the current full Buzz stack as Railway services: Buzz, Postgres, Redis, Typesense, MinIO, and a MinIO bucket init job.
  • README.md documents the template shape, the future deploy button, required owner pubkey input, generated secrets, and validation/backup caveats.

Notes

This intentionally does not wire the repository README deploy section yet. That waits for the final README lane after the deployment primitives land.

End-to-end click-through validation is intentionally blocked until:

  1. ghcr.io/block/buzz:<version> is publicly published.
  2. Buzz owns fresh-database migrations at startup or through the same image.

Verification

  • python3 -m json.tool deploy/railway/railway.template.json
  • Custom Python validation for required Buzz env vars, Railway service refs, and no BUZZ_RELAY_OWNER_PUBKEY typo
  • git diff --check
  • docker manifest inspect for dependency images: minio/minio, minio/mc, typesense/typesense:30.2, redis:8-alpine
  • Pre-commit hooks passed during commit: rust fmt, desktop tauri fmt, web/desktop/mobile formatting checks

Pre-push hooks were run once and failed in existing desktop code unrelated to this Railway-only diff:

error[E0658]: use of unstable library feature `round_char_boundary`
  --> desktop/src-tauri/src/commands/agent_discovery.rs:276:22

I pushed with --no-verify after that because this PR only adds deploy/railway/ JSON/docs.

npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf added 2 commits June 11, 2026 15:38
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
@tlongwell-block

Copy link
Copy Markdown
Collaborator Author

🤖 Closing this due to a week of inactivity. We're getting a high volume of PRs and this just helps maintainers keep the queue manageable. It's nothing about this PR or you personally! Please reopen (or drop a comment) if it's still needed.

tlongwell-block added a commit that referenced this pull request Aug 1, 2026
Adds a **"I want my own hosted relay"** path to *Getting started* with a
one-click Railway deploy button.

Buzz today asks anyone who wants a real relay to take the
build-from-source route. This gives non-developers a hosted option: the
template provisions the relay plus Postgres, Redis, and media storage,
runs migrations, and generates the owner identity on first boot — no
configuration.

The listing is flagged **community-maintained, not an official Block
build**, so there's no implied ownership. Happy to adjust wording,
placement, or drop the button and keep just a link if you'd prefer.

Template deploys green end-to-end; the owner key is surfaced as a
paste-ready `nsec1…` in the deploy logs, and one deployment can host
multiple communities by hostname.

_Note: this supersedes the stale #984 — that template modeled a
since-removed Typesense service and didn't run migrations._


### Checklist

`README.md` only, +8 −0 — no source files touched, so the build/test
items don't apply.

- [x] `just ci` passes (fmt + clippy + unit tests + mobile) — n/a, no
code changed
- [x] Integration tests pass (`just test`) — n/a, no code changed
- [x] New public APIs / tools / endpoints are documented — none added
- [x] No new `unwrap()` in production code paths
- [x] No new `unsafe` blocks

### How to verify

Click the button in the rendered README. The template stands up the
relay
with Postgres, Redis and media storage wired, runs migrations, and
prints the
owner key once in the deploy logs. Walkthrough with screenshots:
https://hmseeb.github.io/buzz-railway

---------

Signed-off-by: Haseeb Azhar <hsbazr@gmail.com>
Co-authored-by: Tyler <109685178+tlongwell-block@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant