No database
Entries, users and configuration are ordinary files. Inspect, back up and move them with standard tools.
Self-hosted blogging
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.
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
Entries, users and configuration are ordinary files. Inspect, back up and move them with standard tools.
A built-in HTTP server and a short list of dependencies keep memory use low.
Write in Markdown, upload images and files, and keep entries unlisted until they are ready.
Integrates with AI tools via the built in MCP server to enhance content creation and management.
Documentation
Get started with uBlog by exploring the available topics.
Introduction
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.
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.
The project is open source with Apache License Version 2.0.
Community
uBlog is built in the open. Ask questions, report problems or share your theme.