---
title: "Deploy Convex Basic Blog"
description: "the admin ui and mcp server for the Convex Basic Blog Component"
category: "CMS"
url: https://railway.com/deploy/convex-basic-blog
---

# Deploy Convex Basic Blog

the admin ui and mcp server for the Convex Basic Blog Component

**[Deploy Convex Basic Blog on Railway](https://railway.com/template/convex-basic-blog)**

- **Creator:** Daoco Workspace
- **Category:** CMS

## Template content

### Admin UI

- **Source:** https://github.com/daocodotorg/basic-blog
- **Public domain:** Yes

### Basic Blog MCP

- **Source:** https://github.com/daocodotorg/basic-blog
- **Start command:** `pnpm --filter @basic-blog/convex-blog-mcp start`

## Documentation

# Deploy and Host Convex Basic Blog on Railway

Convex Basic Blog is the open-source stack around the npm package basic-blog-convex-blog-cms: a Convex component for a small headless blog (posts, blocks, site settings, uploads), a bundled TipTap admin (blog-admin-serve), and optional MCP tooling so agents can list and edit articles. Your public site stays your own app; this stack covers backend data, CMS, and SEO helpers.

Connect Railway to GitHub and deploy from https://github.com/daocodotorg/basic-blog (or your fork). Convex itself remains on Convex Cloud; Railway runs the monorepo services (admin in packages/convex-blog-cms, optional MCP HTTP in packages/convex-blog-mcp). Set CONVEX_URL on each Railway service, generate domains, open /admin for the CMS and /mcp if you use MCP. Use BLOG_ADMIN_API_KEY and MCP_BEARER_TOKEN when you need to lock down access.

## About Hosting

Hosting does not move your database off Convex. You create or use a Convex Cloud deployment, install basic-blog-convex-blog-cms, register the component in convex.config, and expose makeBlogAdminAPI (including generateUploadUrl) per docs/SETUP.md in the repo. Railway builds Docker images from the linked GitHub repository: Dockerfile.admin for the bundled TipTap admin SPA, Dockerfile.http for Streamable HTTP MCP. Set Root Directory per service (packages/convex-blog-cms and/or packages/convex-blog-mcp) so railway.toml picks the right Dockerfile. After variables and networking are set, editors use the public /admin URL; agents can call the MCP service URL if you deployed it.

## Why Deploy Convex Basic Blog 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 Convex Basic Blog 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.

## Common Use Cases

Hosted CMS: give editors a stable URL for the bundled admin without running servers locally.
Agent workflows: deploy MCP HTTP so MCP clients can create and update posts against your Convex deployment.
Split stack: run admin (and optionally MCP) on Railway while the public blog lives on another host.

## Dependencies for Convex Basic Blog Hosting

GitHub repository connected to Railway: https://github.com/daocodotorg/basic-blog (correct Root Directory per service).
Convex Cloud project with the component and makeBlogAdminAPI deployed; CONVEX_URL set on each Railway service (https://….convex.cloud).
Optional: BLOG_ADMIN_API_KEY aligned with Convex env; MCP_BEARER_TOKEN if MCP is exposed publicly.

### Deployment Dependencies
Source repo: https://github.com/daocodotorg/basic-blog
Convex components: https://docs.convex.dev/components
Convex dashboard: https://dashboard.convex.dev
Railway and GitHub: https://docs.railway.com/guides/github
Railway monorepos: https://docs.railway.com/deployments/monorepo
Env reference: https://github.com/daocodotorg/basic-blog/blob/main/docs/CONFIGURATION.md
Admin on Railway: https://github.com/daocodotorg/basic-blog/blob/main/packages/convex-blog-cms/README.md
MCP HTTP on Railway: https://github.com/daocodotorg/basic-blog/blob/main/packages/convex-blog-mcp/README.md

## Similar templates

- [Libredesk - Complete Setup](https://railway.com/deploy/libredesk-complete-setup) — Complete self-hosted omnichannel customer support desk.
- [Paperless-ngx](https://railway.com/deploy/paperless-ngx-3) — Paperless-ngx — document management with OCR and full-text search
- [Instatic CMS - Postgres](https://railway.com/deploy/instatic-cms-postgres) — Design, build and manage powerful static sites from state-of-the-art CMS

Open this page in a browser: https://railway.com/deploy/convex-basic-blog
