---
title: "Deploy slashdocs"
description: "Publish, share, and comment on HTML documents from coding agents"
category: "AI/ML"
url: https://railway.com/deploy/slashdocs
---

# Deploy slashdocs

Publish, share, and comment on HTML documents from coding agents

**[Deploy slashdocs on Railway](https://railway.com/template/slashdocs)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/slashdocs/manifest.json

- **Creator:** Anurag Rao's Projects
- **Category:** AI/ML

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### render

- **Image:** razorpay/slashdocs:latest
- **Health check:** /readyz
- **Public domain:** Yes

### slashdocs

- **Image:** razorpay/slashdocs:latest
- **Health check:** /readyz
- **Public domain:** Yes

## Buckets

- **documents**

## Documentation

# Deploy and Host SlashDocs with Railway

SlashDocs lets people and coding agents publish self-contained HTML documents,
share them, and comment on them. It is one Go server with an embedded web app,
a CLI, and a remote MCP endpoint at `/mcp`.

## About Hosting SlashDocs

This template starts two services from the `razorpay/slashdocs` image, a
Postgres database, and a storage bucket. The `slashdocs` service serves the web
app and the API. The `render` service serves uploaded HTML on a different
hostname, so that documents cannot read your session. Migrations run when the
server starts.

Before you deploy, create a Google OAuth web client and enter its ID and secret.
After the deploy, add the `slashdocs` domain with the path
`/v1/auth/google/callback` as an authorized redirect URI of that client, for
example `https://slashdocs-production-1a2b.up.railway.app/v1/auth/google/callback`.
Then open the `slashdocs` domain and sign in.

## Common Use Cases

- Publish reports, plans, and dashboards that coding agents write as HTML.
- Share documents with a team and collect comments on them.
- Give agents a CLI and an MCP endpoint to push and read documents.

## Dependencies for SlashDocs Hosting

- Postgres, for metadata, comments, and sharing.
- An S3-compatible bucket, for the uploaded HTML.
- A Google OAuth web client or another OpenID Connect provider, for sign-in.

### Deployment Dependencies

- [SlashDocs on GitHub](https://github.com/razorpay/slashdocs)
- [Self-hosting guide](https://github.com/razorpay/slashdocs/blob/master/docs/self-hosting.md)
- [Google OAuth client setup](https://github.com/razorpay/slashdocs/blob/master/docs/self-hosting.md#google-step-by-step-google-cloud-console)

### Implementation Details

By default, every Google account can sign in. To limit sign-in to your email
domains, set `ALLOWED_OAUTH_DOMAINS` (for example `acme.com,acme.io`) on both
services.

To use another OpenID Connect provider, remove the `GOOGLE_OAUTH_*` variables
from the `slashdocs` service. Then set `SLASHDOCS_OIDC_ISSUER_URL`,
`SLASHDOCS_OIDC_CLIENT_ID`, and `SLASHDOCS_OIDC_CLIENT_SECRET`, and add each one
to the `render` service as a reference. The `render` service copies all of its
variables from the `slashdocs` service.

## Why Deploy SlashDocs on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will
host your infrastructure so you don't have to deal with configuration, while
allowing you to vertically and horizontally scale it.

By deploying SlashDocs on Railway, you are one step closer to supporting a
complete full-stack application with minimal burden. Host your servers,
databases, AI agents, and more on Railway.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/slashdocs
