Deploy slashdocs
Self-host collaborative HTML docs with comments, Postgres, and S3.
Just deployed
/data
slashdocs
Just deployed
Just deployed
/var/lib/postgresql/data
slashdocs-documents
Bucket
Just deployed
Deploy and Host Slashdocs on Railway
Slashdocs is a collaborative workspace for agentic organizations. It stores self-contained HTML documents, keeps immutable versions, and lets people review exact text with anchored comments. The embedded React interface and Go API share one container, while PostgreSQL stores metadata and Railway-hosted S3-compatible storage keeps document artifacts durable.
About Hosting Slashdocs on Railway
Railway runs the pinned Slashdocs Docker image alongside PostgreSQL and a private S3-compatible blob service. Railway provides managed deployments, private networking, generated HTTPS domains, persistent volumes, and simple environment-variable wiring for a compact production-style stack.
Tech Stack
- Slashdocs 0.3.0 Go server with embedded React frontend
- PostgreSQL 18 for metadata, sessions, comments, and migrations
- VersityGW v1.8.0 for S3-compatible immutable document storage
- Railway private networking, HTTPS domains, and persistent volumes
Why Deploy Slashdocs on Railway
Railway makes the multi-service dependencies available from one template while keeping the blob endpoint private. Deployments are reproducible from pinned Docker images, PostgreSQL data and blobs persist on volumes, and the public UI/API receives a managed HTTPS domain without source-based builds.
Common Use Cases
- Agent-generated architecture reviews and product specifications
- Incident reports, postmortems, and QA findings
- Internal dashboards and data-analysis reports as portable HTML
- Shared review workflows with anchored comments and version history
- Remote CLI and MCP access for automated document publishing
Deployment Notes
- The Slashdocs HTTP service listens on container port 8080 and includes
PORT=8080for Railway routing. - The
blobservice listens privately on port 9000 and persists/data; it creates theslashdocs-documentsbucket directory at startup. - PostgreSQL migrations run automatically with
SLASHDOCS_MIGRATE=true. - Configure
GOOGLE_OAUTH_CLIENT_IDandGOOGLE_OAUTH_CLIENT_SECRET, then registerhttps://YOUR_APP_DOMAIN/v1/auth/google/callbackwith Google OAuth. These credentials are required because Slashdocs has no built-in username/password login. - Keep
SLASHDOCS_APP_ORIGINandSLASHDOCS_RENDER_ORIGINon different hostnames. The template provisions separate app and render domains; set these variables to the generated HTTPS URLs before first production login. SESSION_SECRETand blob credentials use Railway secret generation or service references. Do not expose them publicly.
Dependencies for Slashdocs on Railway
Slashdocs requires PostgreSQL for application state and an S3-compatible object store for immutable HTML versions. The template includes both dependencies and connects them over Railway private networking; only the Slashdocs service receives public domains.
Deployment Dependencies
| Service | Image | Port | Volume |
|---|---|---|---|
| slashdocs | razorpay/slashdocs:0.3.0 | 8080 | - |
| blob | versity/versitygw:v1.8.0 | 9000 | /data |
| Postgres | ghcr.io/railwayapp-templates/postgres-ssl:18 | 5432 | /var/lib/postgresql/data |
Template Content
slashdocs
razorpay/slashdocs:0.3.0PORT
BLOB_BUCKET
BLOB_REGION
SLASHDOCS_PORT
SLASHDOCS_MIGRATE
SLASHDOCS_APP_ORIGIN
SLASHDOCS_DEPLOYMENT
BLOB_FORCE_PATH_STYLE
GOOGLE_OAUTH_CLIENT_ID
SLASHDOCS_METRICS_PORT
SLASHDOCS_RENDER_ORIGIN
SLASHDOCS_KV_EVENTS_MODE
SLASHDOCS_LABELS_ENABLED
SLASHDOCS_ALLOW_UNSAFE_RENDER_ORIGIN
PGDATA
PGPORT
POSTGRES_DB
POSTGRES_USER
SSL_CERT_DAYS
RAILWAY_DEPLOYMENT_DRAINING_SECONDS
slashdocs-documents
Bucket