Indiekit for Cloudron - IndieWeb Publishing Server
-
- Title: Indiekit on Cloudron - Your own Indieweb powered blog on Cloudron
- Main Page: https://getindiekit.com/
- Git: https://github.com/rmdes/indiekit-cloudron
- Licence: MIT
- Dockerfile: Yes
- Demo: https://rmendes.net
- Summary:
Indiekit for Cloudron - IndieWeb Publishing Server
Repository: https://github.com/rmdes/indiekit-cloudron
Overview
A Cloudron-packaged https://getindiekit.com deployment that combines an IndieWeb publishing server with an Eleventy static site generator. This package lets you own your content on your domain while still
syndicating to social networks.Live Example: https://rmendes.net
What is Indiekit?
Indiekit is a Node.js server that implements IndieWeb standards - Micropub for posting, IndieAuth for authentication, and webmentions for cross-site interactions. Think of it as a self-hosted publishing
backend that works with any Micropub client (Quill, Indigenous, iA Writer, etc.).Architecture
nginx (port 3000) → Static files from Eleventy
→ Proxy /admin, /micropub to Indiekit (port 8080)Eleventy (watcher) → Rebuilds site when content changes
Indiekit → Handles Micropub, auth, syndication
MongoDB → Stores sessions, statisticsFeatures
IndieWeb Standards:
- Micropub - Post from any compatible client
- IndieAuth - Sign in with your domain
- Webmentions - Display likes, replies, reposts from other sites
- Microformats2 - Proper h-entry, h-card, h-feed markup
- POSSE - Syndicate to Mastodon and Bluesky via Bridgy
Post Types: Articles, notes, photos, bookmarks, likes, replies, reposts, events, RSVPs, jams, audio, video
Theme (indiekit-eleventy-theme):
- Responsive design with dark mode
- Tailwind CSS styling
- RSS and JSON feeds
- Image optimization
- Social embeds (YouTube, Mastodon, Bluesky)
- Reply context display with h-cite microformats
Custom Indiekit Plugins
I've developed four endpoint plugins that extend Indiekit with activity displays. All are published to npm under @rmdes/:
┌─────────────────────────────┬──────────────────────────────────────────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
│ Plugin │ npm │ Description │
├─────────────────────────────┼──────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────┤
│ indiekit-endpoint-github │ https://www.npmjs.com/package/@rmdes/indiekit-endpoint-github │ Display GitHub commits, stars, PRs, issues, and featured repositories │
├─────────────────────────────┼──────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────┤
│ indiekit-endpoint-funkwhale │ https://www.npmjs.com/package/@rmdes/indiekit-endpoint-funkwhale │ Funkwhale listening history, favorites, now playing, and statistics │
├─────────────────────────────┼──────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────┤
│ indiekit-endpoint-lastfm │ https://www.npmjs.com/package/@rmdes/indiekit-endpoint-lastfm │ Last.fm scrobbles, loved tracks, now playing, and listening stats │
├─────────────────────────────┼──────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────┤
│ indiekit-endpoint-youtube │ https://www.npmjs.com/package/@rmdes/indiekit-endpoint-youtube │ YouTube channel videos, live streaming status, upcoming streams │
└─────────────────────────────┴──────────────────────────────────────────────────────────────────┴───────────────────────────────────────────────────────────────────────┘
Each plugin provides:- Admin dashboard views in Indiekit's UI
- Public JSON API endpoints for static site integration
- Background sync to MongoDB
- Smart caching to respect API rate limits
Related Repositories
┌──────────────────────────────────────────────────────┬────────────────────────────┐
│ Repository │ Description │
├──────────────────────────────────────────────────────┼────────────────────────────┤
│ https://github.com/rmdes/indiekit-cloudron │ Main Cloudron package │
├──────────────────────────────────────────────────────┼────────────────────────────┤
│ https://github.com/rmdes/indiekit-eleventy-theme │ Eleventy theme (submodule) │
├──────────────────────────────────────────────────────┼────────────────────────────┤
│ https://github.com/rmdes/indiekit-endpoint-github │ GitHub activity plugin │
├──────────────────────────────────────────────────────┼────────────────────────────┤
│ https://github.com/rmdes/indiekit-endpoint-funkwhale │ Funkwhale plugin │
├──────────────────────────────────────────────────────┼────────────────────────────┤
│ https://github.com/rmdes/indiekit-endpoint-lastfm │ Last.fm plugin │
├──────────────────────────────────────────────────────┼────────────────────────────┤
│ https://github.com/rmdes/indiekit-endpoint-youtube │ YouTube plugin │
└──────────────────────────────────────────────────────┴────────────────────────────┘
Installationgit clone https://github.com/rmdes/indiekit-cloudron.git
cd indiekit-cloudron
cloudron build
cloudron install --app yourdomain.comThen configure /app/data/config/env.sh with your API tokens.
Credits
- https://getindiekit.com by Paul Robert Lloyd
- https://www.11ty.dev static site generator
- https://indieweb.org community
- Notes: I have been using it as my daily blog engine for over a week now and I'm pretty happy with the result
- Alternative to Wordpress
-
Blog post on how to deploy this : https://rmendes.net/content/articles/2026-01-24-deploy-your-own-indieweb-site/
-
Blog post on how to deploy this : https://rmendes.net/content/articles/2026-01-24-deploy-your-own-indieweb-site/
