GoBlog  by jlelse

Blogging platform for content ownership and decentralized publishing

Created 4 years ago
255 stars

Top 98.8% on SourcePulse

GitHubView on GitHub
Project Summary

GoBlog is a single-user, multi-blog platform written in Go, designed for users who prioritize full content ownership, simplicity, and extensibility. It offers robust support for IndieWeb and ActivityPub protocols, enabling decentralized identity and content syndication. The platform provides a fast, performant blogging experience with minimal dependencies, making it an attractive option for self-hosted content creators.

How It Works

Written in Go, GoBlog leverages a single binary deployment with SQLite for data storage, offering high performance and minimal dependencies. Its architecture is designed around extensibility, featuring a runtime plugin system powered by Yaegi, allowing dynamic addition of features. Core to its philosophy is robust support for modern web standards like IndieWeb (IndieAuth, Micropub, Webmention) and the ActivityPub protocol for Fediverse integration, enabling true content ownership and interoperability.

Quick Start & Requirements

  • Primary install: Docker (recommended) or Go 1.25+.
  • Prerequisites: Docker, Go 1.25+, SQLite 3.38+ with FTS5/JSON (if not using embedded SQLite), basic Markdown/YAML knowledge.
  • Setup: Docker setup is straightforward with docker-compose up -d. Building from source requires go build with specific tags.
  • Links: Docker quick start, source build instructions, /login (admin/secret), /editor, example-config.yml.

Highlighted Details

  • IndieWeb & Fediverse: Comprehensive support for IndieAuth, Micropub, Webmention, and ActivityPub (Mastodon, etc.) for decentralized identity and content syndication.
  • Extensibility: Runtime Go plugin system (via Yaegi) allows dynamic feature extension without recompilation.
  • Performance & Simplicity: Built as a single Go binary with SQLite, emphasizing fast rendering, caching, and minimal dependencies.
  • Content Ownership: Markdown-first writing, front matter, multiple blogs, taxonomies, and opt-in features empower users with full control.

Maintenance & Community

The project maintains a Matrix chatroom for community interaction and support. Specific details on core contributors, sponsorships, or a public roadmap are not detailed in the provided README.

Licensing & Compatibility

GoBlog is licensed under the permissive MIT License. This license allows for commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

ActivityPub integration currently lacks the ability to follow other users. Building from source primarily targets Linux, with potential compatibility issues on other operating systems.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Harrison Chase Harrison Chase(Founder of LangChain), and
1 more.

gpt-newspaper by rotemweiss57

0.2%
1k
Autonomous agent for personalized newspapers
Created 1 year ago
Updated 1 year ago
Feedback? Help us improve.