Skip to content

Add Railway deployment template#984

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

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>
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