Creating your own federated microblog
25 comments
·April 24, 2025_heimdall
rpgbr
The appeal, at least for me, is having a social layer on top of your own stuff. Are you familiar with POSSE (Publish (on your) Own Site, Syndicate Elsewhere)? With AP you skip the whole second part because it's automatically syndicated everywhere the moment you post on your own site.
I'm having good results with the WordPress ActivityPub plugin on my blog[1].
rglullis
> if I'm writing to a blog or a microblog I just don't really care who follows me or even who reads it.
- if you want to have comments or backtracks, you can do it with ActivityPub without having people signing up to your site (directly or through some OAuth system)
- If you want to mitigate spam, you can set up your AP blog to only accept messages on the inbox from actors who you whitelist.
- You could have your own Substack where you only send the updates to actors who are paying subscribers.
apitman
> if you want to have comments or backtracks, you can do it with ActivityPub without having people signing up to your site (directly or through some OAuth system)
You can do the same thing with RSS+We mention, which is a way simpler stack and predates ActivityPub by years
rglullis
Webmentions are a spammer's wet dream. There is a reason they were adopted only by the Indieweb crowd.
Anyway, my point was less "ActivityPub can do everything people can do with RSS" and more "having a mechanism to for bidirectional authenticated messages opens up the possibility of new applications".
The real interesting part will happen when/if more developers realize that ActivityPub can do more than "federated versions of popular social media platforms".
_heimdall
The OP here specifically wasn't including any auth features, which I was pretty sure would mean backtracks and comments aren't supported but maybe that's wring. It is possible with ActivityPub, but I'd personally be hesitant to run my own OAuth server just for a microblog.
Regardless, my underlying point really is about what I expect of a microblog. If I'm hosting it myself I just want it to be my little corner of the internet, not a full fledged social media site that I have to maintain. That doesn't mean I'm right or that others don't expect more.
rglullis
> If I'm hosting it myself I just want it to be my little corner of the internet, not a full fledged social media site that I have to maintain.
I think the problem is that OP is focused on developing a framework for AP, and he is dogfooding it by developing an application that other people can understand without too many new concepts.
This is good if you want people to get experiments, but it is terrible as a way to present the true potential of the protocol: https://cosocial.ca/@evan/113143389340566731
genghisjahn
I used to think running my own server for blog stuff was a waste as well. But it’s incredible what can be done with local mini server running Ubuntu and cloud flare tunnels.
gessha
With the rising VPS costs I'm starting to wonder if it's better to move my VPS in-house(:D). Electricity-wise I might be break-even but I wonder if the bandwidth I get from my ISP will be the same, not that my services are high-traffic anyway.
_heimdall
Sure, I have a small homelab and use Tailscale for a similar setup to CF tunnels.
That's a bit besides the point though. I'm not saying hosting ActivityPub yourself seems unnecessary, I'm saying that ActivityPub itself seems unnecessary (or at least not worth the costs and overhead).
candiddevmike
ATProto may be more beneficial to integrate, Bluesky seems more active than Mastodon... For blogging, there's WhiteWind:
h4kor
I've added ActivityPub to my blog system (https://h4kor.github.io/owl-blogs/) as just another way of subscribing to the blog, but found that it is a good model to support interactions.
AndrewStephens
One of my issues with ActivityPub is that there is no such thing as a cut-down completely static AP feed for blogs. I want Mastodon users to be able to follow my static blog but I don't want to implement the machinery to have full interactivity.
Basically an RSS bridge would work fine. I know such things already exist but it would be cool if it was built into AP.
Right now I just manually post my blog post to my Mastodon account which is perfectly fine.
rglullis
This is an issue with Mastodon (and most of other software that implements only the push-based processing of inbox), but there is nothing on ActivityPub that prevents a client to directly read the actor's outbox.
As a matter of fact, I am working on a fork of a elk right now that is meant to function as a pull-based reader of AP data, so pretty soon you will be able to have your SSG generate an outbox for you and I would get all updates, boost it, etc
apitman
ActivityPub can be implemented as static files. You do end up with a lot of duplication because activities contain objects, and you need separate URLs for each.
1dom
This is really useful, thanks.
I've recently been playing around selfhosting a small single user activitypub server to see how it works. I can't understate how satisfying it's been to wallow in compared to a static site or serverless setup. It unexpectedly tickled that special "oooh, a _system_" part of my brain, a lot.
smjburton
> To simplify the tutorial, we'll impose the following feature constraints:
> There is no search functionality.
This makes sense for the tutorial, but search functionality would be awesome for discovery, both in terms of people finding your blog as well as finding other interesting blogs to follow. Niche blogs seem more difficult to find these days when Google only seems to surface websites with the right keywords.
TheAceOfHearts
Google offers Programmable Search Engine [0], a service where you can create site-specific search box. That's probably good enough for most small personal websites.
smjburton
This is interesting, thanks for sharing.
zfiber
[dead]
I've never quite understood the appeal of ActivityPub.
Looking at the list of goals in the article, the only benefit in addition to what can easily be done with RSS is knowing who follows me. Maybe its just me, but if I'm writing to a blog or a microblog I just don't really care who follows me or even who reads it.
There are more social features built into ActivityPub, likes and shares for example, but at that point I'm likely not running my own server and am trusting a third party to do it for me. The idea that there are multiple hosts I can choose to trust rather than one centralized one feels more like a principled argument than one based on real benefits of, for example, owning my own content or censorship resistance.