feat(railway): one-click Railway deploy + team hosting guide (Phase 2)#14
Merged
Conversation
- railway.json: Railway service config (Dockerfile builder, /api/health healthcheck, ON_FAILURE restart). Railway reads it via the Deploy-to-Railway button. - README: 'Host on Railway (team, no install for members)' section + Deploy-to-Railway button pointing at railway.json, with the two required one-click steps called out (persistent /data volume so keys + memories survive redeploys; ENGRAPHIS_FORWARDED_ALLOW_IPS=* so the session cookie gets its Secure flag behind Railway's proxy). - docs/HOSTING_RAILWAY.md: 5-minute guide — deploy, /data volume, forwarded-allow-ips, custom domain + ENGRAPHIS_DASHBOARD_URL, bootstrap admin (license-exempt) + activate Team key (seat cap), invite members, connect agents (HTTP today, /mcp when #12 lands), cost/limits/backups/security. The admin hosts one instance on their Railway account; teammates only log in + connect agents — no local install.
Owner
Author
Council Gate Verdict — APPROVERisk level: high | Agreement: 1.0 | Council session: Per-model scores (rubric: correctness / safety / style / tests / complexity)
Engraphis referenceCouncil verdict persisted as
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What (Phase 2 of the team-hosting plan)
One-click Railway deploy so a team admin hosts one instance on their own Railway account (their cost), and teammates just log in + connect agents — no local install. You sell Team seats; you carry zero hosting burden.
Changes (config + docs only — no code)
railway.json— Railway service config (Dockerfile builder,/api/healthhealthcheck, ON_FAILURE restart). Railway reads it via the Deploy-to-Railway button.railway.json, with the two required post-build steps called out: a persistent/datavolume (so activated keys + memories survive redeploys) andENGRAPHIS_FORWARDED_ALLOW_IPS=*(so the session cookie gets its Secure flag behind Railway's TLS proxy).docs/HOSTING_RAILWAY.md— 5-minute walk-through: deploy →/datavolume → forwarded-allow-ips → custom domain +ENGRAPHIS_DASHBOARD_URL→ bootstrap admin (license-exempt) → activate Team key (seat cap, server-validated) → invite members → connect agents (HTTP today;/mcpwhen feat(agent-connect): mount MCP-over-HTTP at /mcp on the dashboard #12 lands) → cost/limits/backups/security.Why this shape
/api/remember(402without it) — that's the "a Team license is required to connect" gate.Notes / caveats (called out in the guide)
/api/export.all-MiniLM-L6-v2) is the cost lever; guide notesENGRAPHIS_EMBED_MODEL→ external embedding API for write-heavy teams./mcpMCP-over-HTTP is referenced as "when feat(agent-connect): mount MCP-over-HTTP at /mcp on the dashboard #12 lands" (it's in the closed feat(agent-connect): mount MCP-over-HTTP at /mcp on the dashboard #12 / resubmit pending).Verified
railway.jsonis valid JSON; all new/edited files are LF (no CRLF pollution). No code changed (config + docs), so the suite is unaffected. Did not update PyPI (per your instruction). Not merging — opening for review.