Self-Hosted / Projects / Halo

Halo
StableSpecs verified September 13, 2026 · against v2.22
Overview
Self-hosted open-source CMS and website builder for blogs, knowledge bases, company sites, and stores.
Halo is an open-source self-hosted CMS and website builder for publishing blogs, knowledge bases, company websites, and online stores. It combines a content editor with themes, plugins, structured configuration, search, storage options, and a REST API.
Why people choose Halo
Halo targets teams and creators who want a managed-feeling publishing experience while keeping the application and content on infrastructure they control. The official site emphasizes multiple site scenarios, a built-in editor, extensibility through plugins and themes, and deployment through Docker.
What is included
Official product pages list rich-text and Markdown editing, configuration forms, logs and monitoring, backup and restore, data migration, full-text search, local or S3-compatible storage strategies, authentication options, themes, plugins, and RESTful APIs. The plugin ecosystem also provides optional AI and commerce capabilities.
Requirements and tradeoffs
The official docs recommend Docker Compose for production deployments and show Halo running on port 8090 with data mounted under ~/.halo2. You remain responsible for backups, updates, reverse-proxy security, storage, and plugin maintenance. Because themes and plugins shape the final site, evaluate compatibility and maintenance before building a critical publication on third-party extensions.
Best fit
Choose Halo when you want a self-hosted CMS with a visual editor and an extension ecosystem for a blog, documentation site, company site, or store. If your priority is a minimal Markdown wiki or a developer-first headless CMS, compare it with narrower tools before committing.
Configuration
Ports
8090/tcp— Halo web and admin service port in the official Docker examples.
Volumes to back up
/root/.halo2— Persistent Halo application data, including site configuration and content storage./var/lib/postgresql/data— Persistent PostgreSQL data for the recommended Compose database service.
Interface previews
Screenshots of the Halo interface.
Feature support
| Feature | Support |
|---|---|
| Blog and website publishingThe official site positions Halo for personal blogs, knowledge bases, company sites, and online stores. | Supported |
| Rich-text and Markdown editorOfficial product pages list an editor supporting rich text, Markdown, and multiple content elements. | Supported |
| Themes and pluginsHalo uses a plugin architecture and theme system to extend functionality and presentation. | Supported |
| Full-text searchThe official site describes built-in full-text search with optional external search extensions. | Supported |
| Backup, restore, and migrationOfficial pages list site backup and restore plus data migration capabilities. | Supported |
| Local and S3 storageThe official feature list includes local storage and S3 protocol object storage, with extensions available. | Supported |
| RESTful APIHalo’s official pages list RESTful API support for integration and custom development. | Supported |
| Docker deploymentThe official docs provide Docker and Docker Compose installation guidance, with Compose recommended for production. | Supported |
| AI and commerce extensionsOfficial pages present AI and shop functions as plugin or module-based extensions rather than identical core behavior in every install. | Partial support |
Community signals
- Stars
- 39.9k
- Forks
- 10.3k
- Open issues
- 102
- Last commit
- 1d ago
- Latest release
- v2.27.0
- Repo created
- Mar 2018
Includes open pull requests
3d ago
Refreshed nightly from the GitHub API.
Alternatives
Questions
What is Halo CMS used for?
Halo is used to build and manage self-hosted blogs, knowledge bases, company websites, and online stores.
Is Halo open source?
Yes. The official Halo repository is public and licensed under GPL-3.0.
Can you run Halo with Docker?
Yes. The official documentation provides Docker and Docker Compose instructions and recommends Docker Compose for production deployments.
What port does Halo use by default?
The official Docker documentation shows Halo exposed on port 8090 in its quick-start command.
Does Halo support Markdown?
Yes. The official product site lists an editor that supports rich text and Markdown content.
Can Halo use S3 storage?
Yes. Halo’s official feature pages list local and S3 protocol object-storage strategies, with extension options for additional storage backends.
Is Halo a WordPress alternative?
Halo can serve a similar self-hosted publishing role for blogs and websites, but the ecosystems differ. Compare themes, plugins, language, hosting documentation, and community support for your specific site before migrating.
support // the lab
Found this write-up useful?
If it saved you time or a rebuild, you can support more practical homelab guides.