Rin

openRin/Rin ↗ ·★ 2.9k ·TypeScript ·MIT

A serverless blog platform built on Cloudflare Pages, Workers, D1 and R2, with a rich editor, GitHub OAuth and one-command deployment.

Rin screenshot
Stars
★ 2.9k
Language
TypeScript
License
MIT
Deploy targets
1

Overview

Rin is a modern blog platform designed around Cloudflare’s serverless stack. Instead of publishing static Markdown only, it gives you a working blog application with GitHub OAuth, a management UI, rich article editing, autosave, private drafts, custom slugs, blogrolls, comments and webhook notifications. The frontend runs on Cloudflare Pages, while the server-side pieces run on Workers with D1 and optional R2-backed storage.

That makes Rin a strong fit for people who want more than a theme but still want to avoid a VPS. You get database-backed publishing and media workflows, yet the operational model stays Cloudflare-native: configure account credentials, provide the environment values, and let the deploy scripts provision the pieces. The README documents bun run deploy as a single command that can deploy frontend and backend together.

The main trade-off is setup complexity. Rin is more capable than a plain static blog, so you need to think about OAuth, Cloudflare API tokens, D1 and storage configuration before going live. Once those are in place, it is a practical example of how Pages, Workers, D1 and R2 combine into a full editorial product.

Highlights

  • Cloudflare-native blog platform using Pages, Workers, D1 and R2
  • Rich article editor with autosave, privacy controls, custom slugs and unlisted posts
  • GitHub OAuth login with the first registered user promoted to administrator
  • One-command deployment that can create D1, deploy Workers and Pages, and run migrations

Best for

  • Writers who want a self-hosted blog without managing a server
  • Developers learning a complete Cloudflare Pages + Workers + D1 app
  • Personal sites that need an editor, media uploads and comments

Getting started

  1. 1 Clone the repository and install dependencies with Bun
  2. 2 Copy the environment example and configure Cloudflare account values
  3. 3 Set CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID for deployment
  4. 4 Run the deploy script to provision D1, deploy the Worker backend and publish the Pages frontend
#blog#workers#d1#r2#serverless#cms

FAQ

What makes Rin different from a static blog theme?

Rin is a full serverless blog platform, not only a static theme. It includes authentication, an editor, D1-backed data, R2-compatible image storage, comments and management features.

Does it require a VPS?

No. The README describes deployment on Cloudflare's developer platform: Pages for the frontend, Workers for functions, D1 for SQLite storage and R2 for object storage.

Can I deploy it without wiring every Cloudflare resource by hand?

Yes. The deployment script can create the D1 database, deploy backend and frontend pieces, and run migrations when the required Cloudflare account variables are set.

Deploy Rin for free

Free-tier platforms that can host this project. Pick one and ship it.