A fast, simple Node.js blog framework that generates static sites from Markdown posts.
Mereithhh/vanblog
A self-hosted personal blog system with a Markdown editor, admin dashboard, built-in analytics, image hosting, comments and automatic HTTPS.
Open-source alternative to:WordPress
- Stars
- 3,583
- Forks
- 497
- Open issues
- 111
- Last commit
- 4 days ago
What is it?
VanBlog is a self-hosted blogging system for individuals. It includes a public blog built with Next.js and a separate admin dashboard for writing, managing posts and drafts, and reviewing visitor statistics. The backend is a NestJS API backed by MongoDB.
Authoring centers on a ByteMD-based Markdown editor with Mermaid diagrams, math formulas, custom highlight blocks, and direct image upload from local files or the clipboard. Readers get tables of contents, search, categories, tags, RSS feeds, and password-protected articles. Comments run on Waline, and images can be stored locally or through PicGo targets such as object storage and GitHub.
Deployment is handled by an installation script or Docker Compose, which runs VanBlog alongside MongoDB. Caddy issues and renews HTTPS certificates automatically, and the admin area offers import/export and update notices.
Key features
- 01Markdown editor with Mermaid diagrams, math formulas and image upload
- 02Static pages with incremental regeneration for CDN-friendly delivery
- 03Built-in visitor analytics, plus Google and Baidu Analytics support
- 04Waline comments with email notifications and webhooks
- 05Image hosting locally or via PicGo to object storage or GitHub
- 06Automatic HTTPS through Caddy, deployable with Docker
Use cases
- Running a personal blog on your own server or VPS
- Publishing technical notes with diagrams and formulas
- Hosting a blog with self-managed images and comments
- Using the API to power a separate frontend
Quick start
- 1
Download and run the setup script
curl -L https://vanblog.mereith.com/vanblog.sh -o vanblog.sh && chmod +x vanblog.sh && ./vanblog.sh - 2
Run the script again later to manage the install
./vanblog.sh
Things to know
- The documentation and admin interface are primarily in Chinese; internationalization is only on the roadmap.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be distributed under the same terms.
- The default Docker Compose setup runs VanBlog and MongoDB as separate services, so self-hosting requires managing a database.
In collections
Topics
FAQ
- What is vanblog?
- A self-hosted personal blog system with a Markdown editor, admin dashboard, built-in analytics, image hosting, comments and automatic HTTPS. VanBlog is a self-hosted blogging system for individuals. It includes a public blog built with Next.js and a separate admin dashboard for writing, managing posts and drafts, and reviewing visitor statistics. The backend is a NestJS API backed by MongoDB.
- Is vanblog free to use? What license does it have?
- vanblog is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is vanblog still maintained?
- Actively maintained. The last commit to vanblog was on Nov 3, 2026.
- What can I use vanblog for?
- Running a personal blog on your own server or VPS Publishing technical notes with diagrams and formulas Hosting a blog with self-managed images and comments Using the API to power a separate frontend
- How do I install vanblog?
- Download and run the setup script: curl -L https://vanblog.mereith.com/vanblog.sh -o vanblog.sh && chmod +x vanblog.sh && ./vanblog.sh Run the script again later to manage the install: ./vanblog.sh
- Where can I get vanblog?
- The source code and installation instructions are on GitHub: https://github.com/Mereithhh/vanblog
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted, privacy-focused website analytics built on Node.js and MongoDB, with a minimal interface and no cookies.
A self-hosted PHP blogging platform with Markdown support, plugins, themes and multiple database backends.
A flat-file CMS for building websites and blogs that stores content as JSON, so no database is needed.
Self-hosted, privacy-first product analytics and engagement platform covering web, mobile, desktop and IoT apps.
Python static site generator that builds websites from Markdown, reStructuredText, and HTML source files without databases.