Halo
Halo is a modern CMS that handles blogs, knowledge bases, corporate sites, and full e-commerce storefronts from a single installation, distinguished by a polyglot plugin architecture that runs both Java and JavaScript extensions on a GraalVM runtime. Built on Spring Boot 3 with a Vue.js admin console, the platform delivers a clean content management experience with Markdown and rich-text editing, live preview, scheduled publishing, draft management, media uploads, and granular multi-user role-based access controls. Plugins can be enabled or disabled at runtime without restarting the server, and the official marketplace offers over 100 free themes plus a growing library of extensions covering SEO optimization, search integration, paid content access, AI writing assistance, and Q&A chatbots. Storage backends are configurable through plugins, supporting local disk, S3-compatible object storage, and other providers. The fully documented RESTful API enables headless CMS usage for decoupled frontend architectures. Database support includes embedded H2 for quick starts, with production deployments on PostgreSQL or MySQL. Nearly 40,000 GitHub stars and over 2.5 million Docker pulls reflect the project's maturity and active development pace. A single Docker command gets a functional instance running on port 8090. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-3.0 licensed.
Wordpress
Roughly 43% of all websites and over 60% of the CMS market run on WordPress - the GPL-licensed platform that scales from a personal blog to publishing operations and WooCommerce stores. The Gutenberg block editor composes pages from reusable blocks, and full site editing extends block control to headers, footers, and templates; tens of thousands of plugins and themes cover essentially every capability a site might need, from SEO and caching to membership and e-commerce. WordPress 7.0 "Armstrong" marks the platform's biggest structural update since Gutenberg itself: a React-based DataViews admin replaces the legacy list tables with instant filtering, a provider-agnostic AI Client API ships with connectors for OpenAI, Anthropic, and Google, media processing moves into the browser via WebAssembly, and a universal Font Library manages typography across block, hybrid, and classic themes with local hosting for GDPR compliance. New Breadcrumbs, Icons, and lightbox Gallery blocks reduce plugin dependence, and server-side PHP block registration simplifies development. The REST API and WP-CLI make it automatable end to end. Self-hosting is what WordPress was designed for: your content, database, plugin choices, and upgrade schedule stay entirely under your control, free of wordpress.com plan limits.
Grav
No database anywhere in the stack: Grav, the leading flat-file CMS, builds every page from a folder of Markdown and YAML on PHP, Symfony components, Twig templating, and Doctrine caching. That architecture is the whole argument: content is Git-versionable, rsync-able, and lock-in-free; pages render in well under 100ms without database round-trips; and backup means copying a directory. Content authors write Markdown (or plain HTML), configure with readable YAML, and define custom page structures via blueprint files that generate editing forms automatically. The optional Admin panel adds a polished editing layer: dashboard with site activity, page management with a syntax-highlighted editor and live preview, drag-and-drop media uploads, one-click plugin/theme updates, and normal/expert modes for form-based or raw YAML editing. The ecosystem runs deep - hundreds of open-source plugins and themes installed through the GPM package manager, with an event-hook architecture that gives plugins full control over the request lifecycle, and downloadable skeletons providing entire pre-built sites. Grav 2.0 modernizes the stack (PHP 8.3+, Symfony 7, Twig 3) and adds a first-party REST API, an MCP server for AI agents, and a SvelteKit single-page admin with real-time collaborative editing. Ideal for docs, blogs, and marketing sites. MIT-licensed.
Artalk
Artalk embeds a full commenting system into any webpage with three lines of JavaScript, packing multi-site management, social login, spam filtering, and Markdown rendering into a client that weighs roughly 40KB. One server instance manages comments for unlimited websites with complete data isolation between sites, eliminating the need for separate deployments per project. The framework-agnostic Vanilla JS client renders a complete comment interface with Markdown support, LaTeX mathematical formula rendering, image uploads, emoji packs compatible with OwO format, and automatic dark mode detection. An integrated admin dashboard accessible through the comment box provides comment moderation queues, IP banning, comment pinning, page-level statistics, and content management without direct database access. Social login authenticates commenters through GitHub, Google, Twitter, Discord, and additional OAuth providers, while captcha protection spans four backends: image captcha, Cloudflare Turnstile, Google reCAPTCHA, and hCaptcha. Spam filtering layers include Akismet integration, keyword block lists, and cloud moderation services that catch unwanted content before publication. Email notifications support SMTP, Aliyun DM, and Sendmail transports with customizable templates, and multi-channel push notifications extend to Telegram, Bark, and other messaging platforms. The OpenAPI-documented HTTP API enables programmatic comment management. Database flexibility covers SQLite, MySQL, PostgreSQL, and SQL Server. A plugin marketplace offers community extensions for custom behavior. Continuously maintained for over 8 years. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Cusdis
Comments for small sites without Disqus's baggage: Cusdis is a lightweight, privacy-first, open-source comment system for embedding under blog posts and articles. The embedded JavaScript SDK is about 5 KB gzipped (Disqus is roughly 24 KB), sets no cookies, runs no tracking, and does not require readers to create an account or sign in before commenting. Integration is two lines: a container div with your app ID and an async script tag, with ready-made adapters for common frameworks and static site generators. Moderation is approval-based - new comments stay hidden until you approve them from the dashboard, and email notifications include a Quick Approve link that approves or replies to a comment from your phone without logging in. A webhook fires on every new comment for integrations like Telegram notifications. The widget ships with built-in i18n and dark mode. The stack is TypeScript and Next.js with a Prisma data layer, deployable via Docker with PostgreSQL. Deliberately minimalist: no ads, no reader profiling, and your comment data lives in your own database.
Isso
Named from the German "Ich schrei sonst" - roughly "or I'll scream" - Isso is a lightweight Python/JavaScript commenting server, a drop-in Disqus replacement for people who noticed what Disqus does to reader privacy and page load times. The design premise is printed right in the docs: comments are not Big Data. So the backend is a single SQLite file rather than a database cluster, and the entire client is one embeddable JavaScript file - 65 kB, 20 kB gzipped - that you drop into any static site, blog, or CMS. Commenters write in Markdown, need no account, and can edit or delete their own comments within a configurable window (15 minutes by default). Spam control comes from an optional moderation queue: held comments stay invisible until you activate them via an admin interface or email notification links. Migration is a first-class feature, with importers for Disqus and WordPress exports, so years of existing threads move over intact. Because everything is server-rendered from your own instance, no third party tracks your readers, and real-world switchers report smaller pages and faster loads than the Disqus embed. MIT-licensed, running since 2012.
ClassicPress
WordPress without Gutenberg: ClassicPress, the community-led fork, keeps the TinyMCE classic editor as the default and strips the block editor and Full Site Editing out of core entirely. The result is roughly half WordPress's size - obsolete libraries like jQueryUI, Thickbox, and Flash support are gone, replaced by native HTML5 elements and modern alternatives like SortableJS - which translates to a measurably faster admin and a leaner attack surface. Forked from WordPress 6.2, it remains compatible with the vast plugin and theme ecosystem targeting that lineage (anything not requiring blocks generally works, helped by a blocks-compatibility mode), and the PHP-first WordPress API developers have used for over a decade works unchanged - no React required to extend your CMS. The fork adds its own improvements: built-in media categories and tags with bulk editing, revision management that lets you prune database bloat, native HTML5 dialogs for accessible touch-friendly menus, and recent releases bring APCu object-cache support, vanilla-JS core widgets, and performant translations. Governance is democratic and community-driven rather than corporate. For content sites, business sites, and blogs where the classic editing workflow is the feature, ClassicPress is stability as a philosophy.
Ghost
Get ready to transform your audience into a thriving empire with Ghost, the ultimate toolkit for the modern creator on a mission to monetize their mojo. Picture this: a sleek website that screams 'you', bursting with content that captivates, newsletters that fly straight into inboxes, and a subscription service that turns followers into financiers. Wave goodbye to bland and hello to a smorgasbord of stunning, free themes that you can finesse to fit your unique flair. But wait, there's more! Ghost's editor is like the Swiss Army knife for content connoisseurs—slick, sophisticated, and oh-so-simple to use. Unleash your creativity with multimedia storytelling that includes everything but the kitchen sink—galleries, chucklesome gifs, videos, podcasts, you name it. And when it's time to hit 'send', those built-in newsletters make sure your words woo your audience without breaking a sweat. Want to play the mysterious type? Ghost's got you covered with native signup forms that turn casual lurkers into committed members. And because we all love a good sneak peek, Ghost dishes out the deets with analytics that spill the tea on who's loving your work the most. Plus, with tantalizing offers and promotions, you'll have new subscribers flocking like seagulls at a beach picnic. All this, hosted on RepoCloud, where the cost is as tiny as your chances of being bored. So, what are you waiting for? Let's Ghost!
WriteFreely
With over 5,100 GitHub stars and a proven track record powering more than 550,000 blogs on the Write.as hosted platform since 2018, WriteFreely strips blogging down to its essential purpose — writing — by removing news feeds, notifications, likes, and engagement metrics that distract from the creative process. The Go binary deploys on any platform as a single executable with SQLite for zero-dependency setups or MySQL and MariaDB for larger installations, consuming minimal system resources and running comfortably on hardware as small as a Raspberry Pi. The auto-saving Markdown editor provides a clean writing environment with instant draft preservation, while published posts render with typography-focused CSS that puts content front and center for readers. ActivityPub federation connects every blog to the fediverse, allowing Mastodon, Pleroma, and other ActivityPub platform users to follow blogs directly, receive new posts in their timelines, and boost or favorite content to their followers. Multi-blog support lets writers maintain separate blogs with distinct pen names from a single account without revealing their association, while OAuth 2.0 integration enables single sign-on onboarding from existing identity providers. Hashtag categorization organizes posts by topic, pinned posts create static pages for permanent content, and draft mode lets writers compose privately before publishing. Blog elements are localized in over 20 languages with first-class right-to-left script support for Arabic, Hebrew, and other RTL languages. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. AGPL-3.0 licensed.
Commento++
When Commento's original maintainer went quiet, Commento++ bundled the community's bug fixes and stalled merge requests into a batteries-included release of the beloved Go-based Disqus alternative - and kept building. The core promise is unchanged: an embeddable comments box that is orders of magnitude lighter and faster than Disqus, with no ads, tracking, or data sales - two lines of HTML and a PostgreSQL database. On top of Markdown comments, voting, Disqus import, OAuth login (Google, GitHub, Twitter) plus SSO, sticky comments, thread locking, and email notifications, the fork's additions are substantial: WebSocket-powered live comment updates with permalinks and highlight animations for new arrivals, guest commenting with a name, a cross-domain moderation dashboard for approving and deleting comments in one place, MathJax rendering support, wildcard domain matching, a reInit hook that makes single-page-application integration clean, and Perspective API spam scoring alongside the existing Akismet integration. Optional page-view logging graphs traffic on the dashboard, native SSL termination works without a proxy, and script-tag data attributes control fonts, CSS overrides, deleted-comment visibility, and polling-versus-WebSocket behavior.