Self-hosted blogging

Blogging with nothing but files.

uBlog is a small, self-hosted blogging platform for personal blogs and single-domain sites. No database, a tiny memory footprint, and content you can read with any text editor.

Open source. Runs anywhere a container runs.

quickstart
podman run --rm -p 127.0.0.1:8080:8080 docker.io/ublog/ublog:1.0.0

Open http://localhost:8080 and log in with admin / test.

Philosophy

Small on purpose

01

No database

Entries, users and configuration are ordinary files. Inspect, back up and move them with standard tools.

02

Small footprint

A built-in HTTP server and a short list of dependencies keep memory use low.

03

Markdown first

Write in Markdown, upload images and files, and keep entries unlisted until they are ready.

04

AI Ready

Integrates with AI tools via the built in MCP server to enhance content creation and management.

Documentation

Explore uBlog

Get started with uBlog by exploring the available topics.

Introduction

About uBlog

uBlog is a small Java application that serves a folder of Markdown files as a blog. It uses a simple URL scheme, renders pages to HTML, and keeps content, templates, user properties, and images in filesystem folders.

Philosophy

The project favors a small footprint and few dependencies over a conventional web stack. HTTP is handled directly with Java sockets rather than a web or application server. Markdown rendering and Mustache templates provide the presentation layer; the remaining application code is intentionally straightforward. Configuration has explicit defaults, and there is no database in the current runtime path.

The container starts the JVM with an 8 MB initial and maximum heap. That is a deliberately small starting point, not a performance guarantee: actual memory needs depend on the content, traffic, and runtime environment.

License

The project is open source with Apache License Version 2.0.