- Title: Indiekit on Cloudron - Your own Indieweb powered blog on Cloudron
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, statistics
Features
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 ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Installation
git clone https://github.com/rmdes/indiekit-cloudron.git
cd indiekit-cloudron
cloudron build
cloudron install --app yourdomain.com
Then configure /app/data/config/env.sh with your API tokens.
Credits
- Notes: I have been using it as my daily blog engine for over a week now and I'm pretty happy with the result