An open-source platform for writing, publishing, and running a blog.
English · 한국어
BLEX is built around one workflow: write, organize, publish, and maintain a blog over time. It provides a browser editor and administration tools, with Docker as the supported deployment path.
- Writing and publishing: rich-text editing, drafts, autosave recovery, revision history, previews, cover images, and scheduled publishing
- Content management: authors, series, tags, search, static pages, comments, likes, and pinned posts
- Blog operations: branding, notices and banners, users and roles, webhooks, and Telegram integration
- Open publishing: RSS, sitemaps, canonical and Open Graph metadata, public Markdown, and a Developer API with scoped tokens
GitHub and Google login, TOTP two-factor authentication, and English and Korean product UI are included. User-authored content is always displayed as written.
Requirement: Docker.
docker run -d \
--name blex \
--restart unless-stopped \
-p 20002:80 \
--mount source=blex-db,target=/var/lib/blex \
--mount source=blex-media,target=/app/resources/media \
-e BLEX_SQLITE_DB_PATH=/var/lib/blex/db.sqlite3 \
-e SECRET_KEY=local-preview-only-change-me \
-e CIPHER_KEY=local-only-cipher-key-32-charsxx \
-e DEBUG=TRUE \
-e ENABLE_ENGLISH_UI=TRUE \
-e SITE_URL=http://localhost:20002 \
baealex/blex:latest
docker logs blexThe command uses DEBUG=TRUE so BLEX works over local HTTP. This is a
development setting and must not be carried into a public deployment.
Open http://localhost:20002, then use the Initial setup URL from
docker logs blex to create the first administrator. The blex-db and
blex-media volumes keep the database and uploads when the container is
replaced.
Use unique secrets, set DEBUG=FALSE, and configure SITE_URL,
ALLOWED_HOSTS, and CSRF_TRUSTED_ORIGINS for the public domain. Place an
HTTPS proxy in front of BLEX and back up both volumes. The
Self-hosting Guide covers the complete setup and upgrade
path.
| Path | Purpose |
|---|---|
/rss |
RSS feed |
/sitemap.xml |
Sitemap index |
/llms.txt |
Optional agent entry point |
/@{username}/{post_url}.md |
Public post as Markdown |
/api/developer/v1/docs |
Developer API documentation |
Requirements:
- Python 3.12+
- Node.js 22 (22.22.2+), 24 (24.15+), or 26+
- npm
npm install
npm run server:migrate
npm run devOpen http://localhost:8000.