# Halo — Modern Self-Hosted Publishing Platform > Halo is an open-source content management and blogging platform built with Java and Spring Boot. It provides a polished editing experience, a plugin system, and theme marketplace for self-hosted publishing. ## Install Save as a script file and run: # Halo — Modern Self-Hosted Publishing Platform ## Quick Use ```bash docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.20 ``` ## Introduction Halo is a publishing platform designed for bloggers and content creators who want full ownership of their site. It ships with a rich editor, theme system, and plugin architecture, and can be deployed in minutes with Docker. ## What Halo Does - Provides a rich-text and Markdown editor with media management - Supports custom themes with a marketplace of community-built designs - Offers a plugin system for comments, search, SEO, analytics, and more - Exposes a RESTful API for headless CMS usage and integrations - Manages multiple authors with role-based permissions ## Architecture Overview Halo 2.x is built on Spring Boot 3 with Spring WebFlux for reactive request handling. Data is stored in H2 (embedded) or PostgreSQL/MySQL via R2DBC. The frontend console is a Vue 3 single-page application. Plugins run as isolated Spring contexts loaded at runtime, and themes use Thymeleaf templates with a well-defined model API. ## Self-Hosting & Configuration - Deploy with a single Docker command or Docker Compose for production - Default embedded H2 database works out of the box; switch to PostgreSQL for scale - Configure via application.yaml or environment variables (port, database, storage) - Supports S3-compatible object storage for media files - Reverse proxy with Nginx or Caddy for HTTPS termination ## Key Features - Block-style rich editor with drag-and-drop media uploads - Hot-swappable themes without restarting the server - Plugin marketplace with 50+ community extensions - Full-text search via built-in or Meilisearch plugin - Automated backups and one-click restore ## Comparison with Similar Tools - **WordPress** — PHP-based with a much larger ecosystem but heavier and more complex to secure - **Ghost** — Node.js publishing platform focused on newsletters; Halo has a richer plugin system - **Hugo / Jekyll** — static site generators requiring a build step; Halo is a dynamic CMS - **Typecho** — lightweight PHP blog engine but fewer features and slower development - **WriteFreely** — minimalist blogging with federation support but limited customization ## FAQ **Q: What languages does Halo support?** A: The admin console ships with English and Chinese. Themes and plugins can add additional translations. **Q: Can I migrate from WordPress to Halo?** A: Yes, there is a community plugin that imports WordPress WXR export files. **Q: How much server resources does Halo need?** A: A VPS with 1 CPU core and 1 GB RAM is sufficient for most personal blogs. **Q: Is Halo suitable for a multi-author magazine site?** A: Yes, it supports multiple users with contributor, author, and admin roles. ## Sources - https://github.com/halo-dev/halo - https://docs.halo.run --- Source: https://tokrepo.com/en/workflows/e4072823-3d17-11f1-9bc6-00163e2b0d79 Author: Script Depot