Skip to content

zeon-studio/open-remark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

399 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenRemark - An open-source comment system for static websites

image image

Beta Version License

OpenRemark - An open-source comment system for static websites | Product Hunt

A self-hostable comment system for static websites — Astro, Hugo, Next.js, and any site that accepts HTML.

Live Demo

Features: Google sign-in · threaded replies · spam/moderation dashboard · site teams & roles · shadow DOM widget · origin allowlisting

Quick start

# 1. Install
pnpm install

# 2. Configure
cp .env.example .env
# Fill in GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, AUTH_SECRET, WIDGET_JWT_SECRET

# 3. Database
pnpm db:migrate
pnpm db:seed        # optional demo data

# 4. Run (also builds widget + generates Prisma client)
pnpm dev

Open http://localhost:3000 — sign in with Google to access the dashboard.

Embed on your site

<!-- Paste anywhere in your post template -->
<div
  data-open-remark
  data-site-key="YOUR_SITE_KEY"
  data-slug="/posts/your-post-slug"
></div>
<script async src="https://your-domain.com/embed.js"></script>

Get your site key from Dashboard → Sites → Install.

Framework guides

Architecture

See docs/architecture.md for system design, request flows, and scaling path.

Tech stack

Layer Tech
Framework Next.js 16 App Router
Database PostgreSQL (Prisma)
ORM Prisma
Admin auth Auth.js v5 (Google OAuth)
Widget auth Widget JWT (jose)
UI shadcn/ui + Tailwind v4
Validation Zod
Widget Vanilla TS → esbuild

Environment variables

Variable Description
DATABASE_URL PostgreSQL connection string (e.g. postgresql://user:pass@localhost:5432/zeon)
AUTH_SECRET Auth.js secret (run openssl rand -base64 32)
GOOGLE_CLIENT_ID Google OAuth client ID
GOOGLE_CLIENT_SECRET Google OAuth client secret
WIDGET_JWT_SECRET JWT secret for widget visitor tokens
NEXT_PUBLIC_APP_URL Public app URL (used in embed snippets)

License

MIT License

This project is maintained by Zeon Studio

About

OpenRemark is an open-source, self-hostable comment system designed specifically for static websites ( Astro, Hugo, or Next.js). It aims to provide a fully featured commenting experience with minimal setup.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages