mrkeyoor.com_
Thu 10 Sept 18:03 UTC
Self-Hostedevaluationupdated 10 Sept 2026

halo review

Halo's README and primary project presentation are in Chinese; the supplied material does not establish whether a complete English documentation set exists. Halo is a Java-based, self-hosted website builder for publishing blogs, knowledge bases, company sites, portfolios, and online stores from one managed system.

trackingstars / 7d
Verdict

Our build failed after 11 seconds with exit code 1 on a missing @halo-dev/components artifact. Halo still looks like a serious choice for Chinese-speaking teams that want one self-hosted system spanning blogs, knowledge bases, company sites, and commerce. Use the packaged deployment route for evaluation, but make a clean build, backup drill, and upgrade test release gates before committing production content.

We ran it

Install✓ · 50s1314 packages · 924 MB
Build✗ · 11s
Testsn/ano test script
Repo3250 files~297,585 lines of source · 17.6 MB · 5 CI workflows

Answers from our run

Does halo build from source?

Dependencies installed in 50 seconds (1314 packages), and the build failed. We cloned commit d46196a into a clean Debian container with 3 CPUs and no project-specific setup.

Does halo have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use halo?

Buyers who need an English-first evaluation path, because English documentation coverage is not established here

What are the alternatives to halo?

Ghost, WordPress, Strapi. Our build failed after 11 seconds with exit code 1 on a missing @halo-dev/components artifact.

Setup3/5Docker trial is simple, but our source build failed
Docs3/5Clear Chinese quick start; English coverage is unclear
Community4/539,710 stars, a same-day push, and recent release
Maturity4/5Long-running project with editions and an app ecosystem

Who it’s for

Teams that want a self-hosted CMS with themes and plugins
Chinese-speaking publishers building blogs, documentation, or company sites
Operators comfortable owning a Linux server, reverse proxy, TLS, upgrades, and backups
Organizations that value GPL-3.0 source access and local control of site data

Who it’s NOT for

Buyers who need an English-first evaluation path, because English documentation coverage is not established here
Teams expecting the source checkout to build immediately, because our measured UI build failed on a missing packaged file
Anyone wanting a maintenance-free hosted service rather than a self-hosted application
Developers seeking a small dependency footprint, because our UI install occupied 924 MB

Setup reality

Our run installed 1,314 UI packages in 50 seconds and used 924 MB, but the build failed after 11 seconds with exit code 1 because @halo-dev/components/dist/index.iife.js was missing; there was no tests script or target, so tests were skipped. The README's Docker command makes a trial look quick, but it explicitly labels that route as an experience environment and recommends a Linux management panel for reverse proxy, SSL, upgrades, and backups. Expect the packaged deployment path to be easier than building the monorepo checkout, and require a successful clean build plus your own deployment checks before treating source-based installation as routine.

Halo is a broad website system, not just a blogging engine

Halo is a Java project that presents itself as an open-source website-building tool for personal blogs, knowledge bases, portfolios, company websites, and online stores. That breadth is its clearest appeal: one installation can cover several common publishing jobs instead of forcing a team to assemble a CMS, documentation product, and commerce layer separately. The repository has 39,710 stars and dates to 2018, so this is an established project rather than an early experiment.

The supplied README is primarily Chinese, and the material here does not establish whether a complete English documentation set exists. Chinese-speaking teams get direct links to official documentation, a community forum, a Telegram channel, an application market, and developer onboarding. For an English-first team, however, language coverage should be checked before selection, especially for operational procedures and plugin development. Halo's current release is v2.26.1, published on September 1, 2026.

What happened when we ran it

We cloned commit d46196a into an unprivileged Debian sandbox with 3 CPUs, 8 GB of RAM, no secrets, and a Node 22 image. The project contained 3,250 files, about 297,585 lines of source, and a 17.6 MB checkout; the measured JavaScript workspace lived under ./ui/ and used pnpm. These figures describe our box and this commit, not a general performance claim.

Installation succeeded in 50 seconds, bringing in 1,314 packages and consuming 924 MB on disk. The subsequent build failed after 11 seconds with exit code 1. The final log reported ENOENT while opening /work/repo/ui/node_modules/@halo-dev/components/dist/index.iife.js, which means the build expected that file and could not find it. The log does not establish why it was absent, so blaming the package manager, network, or repository structure would be speculation.

There was no tests script or target in the measured UI project, so we skipped tests rather than inventing a passing result. We also found 5 CI workflow files, monorepo workspaces, no Dockerfile, and no tests directory. Those signals show automation exists, but they do not offset the failed clean build or provide a local test command that a new contributor can run.

The packaged trial is clearer than the source-build path

The README offers a concise Docker command using halohub/halo:2.26, port 8090, and a persistent ~/.halo2 volume. It explicitly calls that an experience environment, then recommends 1Panel for a fuller deployment with reverse proxy, SSL certificates, upgrades, and backups. That is useful honesty: the one-command trial is not presented as a complete production recipe.

This distinction matters because our 924 MB UI installation succeeded while the source build did not. Someone evaluating the product should start with the documented packaged image and demo, then separately prove that the exact source tag can be built in the intended development environment. Operators should also rehearse upgrades and restoration before launch, because self-hosting transfers those responsibilities to the site owner.

Breadth and ecosystem are Halo's strongest case

The Community edition is GPL-3.0 licensed and targets blogs, portfolios, and technical documentation. The README claims more than 100 free themes and plugins, and it links to both an application marketplace and an awesome-halo collection. That combination gives non-developers room to change presentation while allowing developers to publish extensions through an explicit onboarding path.

Halo also lays out 3 editions instead of hiding commercial boundaries. Professional adds more than 10 higher-value capabilities, including a mobile app, phone-number login, private deployment, paid themes, and plugins for areas such as SEO and paid reading. The Store edition adds products, orders, and payment connections, with explicit attention to WeChat Pay and Alipay. Buyers still need to verify exact licensing and feature fit on the linked comparison page.

The rough edges deserve a proof-of-fit phase

The main concern is reproducibility. A project can offer an easy runtime image while still being awkward for contributors, and our build's missing index.iife.js file is direct evidence of that gap at commit d46196a. Without a discovered test target, we also could not use an automated suite to distinguish a packaging problem from a broader regression. A team planning custom extensions should resolve both points before budgeting development work.

The 924 MB dependency installation is another practical cost for CI caches, contributor machines, and repeat builds. The monorepo layout may be reasonable for a product this broad, but it raises the importance of exact toolchain instructions. GPL-3.0 is also a deliberate licensing choice, not a neutral checkbox; organizations distributing modified versions should have counsel or an informed maintainer review their obligations.

Current activity is strong, while issue responsiveness remains unproven

The repository was pushed on September 10, 2026, the same day as our review, and v2.26.1 arrived 9 days earlier. Those two dates together are strong evidence of ongoing maintenance. The 39,710-star audience adds an adoption signal, but stars measure attention rather than support quality or production reliability.

There are 112 open issues. That is not alarming for a project of this size, but the supplied data does not show response times, closure rates, or maintainer participation within those threads. The fairest reading is that Halo is visibly active and widely watched, while issue-handling quality still needs a sample-based review before a business depends on support.

Halo fits as the managed application behind your web operations

Treat Halo as the primary self-hosted site application, exposed through a reverse proxy with TLS and supported by monitored backups. Port 8090 and the persistent .halo2 volume make the trial topology understandable, while the README's operational recommendation signals that production needs more than a container process. Add restore testing and a staging upgrade route around it.

Choose Halo when its 2.26-era theme, plugin, publishing, and commerce model matches the organization. Choose Ghost for focused publishing and memberships, WordPress for maximum ecosystem familiarity, or Strapi and Directus when content should primarily feed custom front ends through APIs. Halo earns a shortlist, but our failed build means it has not earned a source-based production rollout without another verification gate.

Alternatives

ProjectWhat it isPick it when
Ghost gh↗A focused publishing platform with memberships and newsletters.pick this instead when editorial publishing and subscriptions matter more than a broad site-builder ecosystem.
WordPressThe established general-purpose CMS with an enormous theme and plugin market.pick this instead when ecosystem size, agency availability, and familiar hosting are the deciding factors.
Strapi gh↗A headless CMS aimed at teams delivering content through APIs.pick this instead when developers will build the front end separately and API-first content is the main requirement.
Directus gh↗A data platform and headless CMS layered around structured content.pick this instead when an existing database and flexible data APIs sit at the center of the project.

What people are saying

  1. [velocity-scout] halo-dev/halo
  2. [theverge] Take a look at Microsoft’s new 25th anniversary Halo accessories

Sources

  1. Halo GitHub repository
  2. Halo official website

More self-hosted reviews

server · gpustack · ground-station · mastodon · changedetection.io · clash-party · the whole board →