I wrote about why I don't (want to) self-host services for others: https://ergaster.org/posts/2023/08/09-i-dont-want-to-host-se...
399 karma · joined February 13, 2017
Director of Program Development at The Matrix.org Foundation
I wrote about why I don't (want to) self-host services for others: https://ergaster.org/posts/2023/08/09-i-dont-want-to-host-se...
My homelab is my hobby. I maintain it for my pleasure and to learn new skills. We have an infra nerds club with a few colleagues and we're having a lot of fun comparing our approaches!
What I don't want though is a power outage putting my server offline while I'm on holidays, and not be able to access my services at all.
My ISP-provided router supports Wireguard, so I can use that to connect to my KVM and send the Wake on LAN packages.
I've heard that it might be difficult to get one in the US though.
One of the most positive things I've done though is to generate "Comment by email" links at the end of each post. People who reach out directly and only to me behave much differently than people who do performative commenting on social media.
The overall rationale for not having comments on my blog is here https://ergaster.org/posts/2024/03/06-welcoming-feedback/
For the first one, the main benefits of Astro over static html and css (for my use cases) are the ability to include components and enforce the properties that must be passed. A typical example would be [here][0] where I define a layout for the whole website, and then [on each page that uses it](https://github.com/matrix-org/matrix-conf-website/blob/main/...) I have to pass the right properties. Doable by hand, but it's great to have tooling that can yell at me if I forgot to do it.
Content Collections also let me grab content from e.g. markdown or json and build pages automatically from it. The [Content Collections docs][1] are fairly straightforward.
As for performance issues, I've spent quite a bit of time on the countryside where connectivity was an issue and every extra request was definitely noticeable, hence the value of inlining it (you load one html file that has the css embedded, instead of loading an html file that then tells your browser to load an extra css file). The same can be true in some malls where I live.
[0]: https://github.com/matrix-org/matrix-conf-website/blob/main/... [1]: https://docs.astro.build/en/guides/content-collections/
I used it for my personal website, and recently used it when reimplementing the Matrix Conference website. It's really a no-fuss framework that is a joy to use.
Among the things I love about Astro:
- It's still html and css centric - Once built, it doesn't require js by default - You can still opt-into adding js for interactivity here and there - Content collections are neat and tidy - Astro massively optimizes for speed, and the maintainers know how to do it - It had a very helpful devbar to help you visually figure out what easy fix can make your website snappier (like lazily loading images if it detects them below the fold)
For the "optimize for speed" bit, an example is that the css minifier cleverly inlines some CSS to avoid additional queries. The Image component they provide will set the width and height attribute of an image to avoid content layout shifts. It will also generate responsive images for you.
Netcup offered VPS with 1 TB of storage for €30 / month back when I subscribed. The server has always been oversized for my needs, but that was the most financially interesting back then.
I recently switched to another ISP at home that gives me a fixed IP. I decided to move my services at home to shave off the VPS costs. Since I already had a Raspberry Pi 4, I only had to buy a SSD and an enclosure.
> I believe the USB controller still shares a bus with the NIC, which means maxing out the network connection will affect disk rw performance. You could confirm this by observing a concurrent iperf affecting fio results.
Thanks for the pointers, I didn't know about iperf! That's something I'll likely try at some point for the sake of completeness, although I have other projects competing for my attention.
> Well, that's specifically AES precompiles. Just like for kopia, you can benchmark and change LUKS algo for something more suitable for the platform like xchacha20: https://rr-developer.github.io/LUKS-on-Raspberry-Pi/
Absolutely, that disk was encrypted using xchacha20. I used the excellent sdm project (https://github.com/gitbls/sdm) to make my Raspi boot from an encrypted disk. They have great documentation pointing out that xchacha20 should be used on the Pi 4 and earlier (https://github.com/gitbls/sdm/blob/master/Docs/Disk-Encrypti...)
In particular, the Personal Time mode of iOS has been a game changer for me: https://ergaster.org/til/ask-smartphone-attention/
I could in theory self-host it but I'd rather use a service with a proper team to maintain it.
The free tier does everything I need. I'd be more than willing to pay ~€5/month for it to contribute to its sustainability, but there is no paying tier that makes sense to me as an individual an occasional contractor.
Yes, the Foundation is currently:
- Running the matrix.org homeserver from a technical perspective (servers & services costs + SRE) - Keeping the matrix.org homeserver free of spam. That's a notoriously difficult task on a tight budget but we're writing tools and working with contractors to get more efficient. - Maintaining and running several bridges (to Slack, XMPP and several IRC networks) - Maintaining the matrix.org website - Working with the community to promote the most active/interesting projects in our weekly post This Week in Matrix and our YouTube show Matrix Live - Organizing The Matrix Conference, FOSDEM, and contributing to several conferences
The Foundation is not developing server or client software. There is a SDK under the matrix-org/ umbrella for historical reasons but the Foundation doesn't contribute to it.
> Are there strategies that could offload some of the homeserver hosting/moderation burden to community home server operators?
There is already a community effort to help with moderation, and third party tooling funded by NLNet (https://github.com/the-draupnir-project/Draupnir).
We have a post dedicated to our approach to T&S at: https://matrix.org/blog/2025/02/building-a-safer-matrix
> Are there strategies that could make the Matrix Conf closer to break even or perhaps even revenue positive?
There are two things we can do:
- Either get more sponsors to keep an event of this scale - Or do some cost compression by doing a smaller scale event, being hosted in a university or some sponsors' offices for free, reducing the catering, etc.
It's probably going to be an act of balance. Make the event too modest, and you miss out on potential businesses, make the event too extravagant and you go bankrupt.
> how is the foundation protected and independent of its commercial sponsors?
Can you be more specific of the threats you're envisioning here?
> Currently 1/2 of the foundation's "Guardians", its top governance board, are from a single commercial entity.
Yes, there used to be 5 Guardians before one stepped down. The Guardians are looking for another 5th peer to replace her.
> I really, really hope Matrix succeeds in the long term. I am absolutely rooting for it.
Thank you for your support, and thanks for holding us accountable :)
What works best for me is to add a link to the fediverse, linkedin and sometimes HN threads of comments when I publish a post. It's also a very low tech solution :)
> T&S staffing alone is about $360k/yr, and server and SRE costs about $240k/yr
And per https://matrix.to/#/!sWpnrYUMmaBrlqfRdn:matrix.org/$pupglsTX...
> There's a rough cost breakdown available to the Governing Board right now in Discourse, which we'll be polishing and publishing after our first Finance and Fundraising Committee meeting
So the financial report is finally coming together.
We have quite a handful of volunteers and a strong community that is helping us a lot already. But some things cannot be offloaded to volunteers (typically T&S and the SRE team running the matrix.org homeserver).
Can you expand on your doubts for the ability to execute? The Foundation has a narrow set of programs on purpose, and it's not implementing any server or client for example. Most of the budget is going to matrix.org and keeping it safe (which is a lot of invisible and thankless work).
As an occasional blog writer myself, I also like to announce manually on my social platforms I use (Mastodon and LinkedIn) when I blogged, and send a link to those socials post. The [full rationale is here][1]. They make it feel less like shouting in the void, which helps me stay motivated. I would be lying if I said I didn't enjoy the occasional likes and boosts I get from these, too :)
Simon Willison also has [good advice on how to write more][2], that I must admit I'm struggling to follow myself.
[1]: https://ergaster.org/posts/2024/03/06-welcoming-feedback/
[2]: https://bsky.app/profile/simonwillison.net/post/3leuudyabks2...
But as soon as you need automation, it’s a different story. I couldn’t rely only on paper notes to keep track of my work.
Obsidian has been very useful to keep track of my list of tasks and report what I’m doing. I would spend much more time doing all that with paper.
Details of my setup at https://ergaster.org/posts/2024/07/16-obsidian-contractor/
Do you mean Penpot doesn't have a business model, or Figma? I'm keen on reading more about either, because you have valid points
One major upside of Zola is that it's very stable, so you don't end up updating your dependencies every other day.
One significant downside is that Zola seems to be sometimes a bit creative with the slugs generation, which can generate slug collisions where there shouldn't be any. It's possible to override them manually though.
I discovered it via one of Kevin Powell's videos: a 20 minutes tutorial to get started using Astro: https://www.youtube.com/watch?v=acgIGT0J99U
I find it very simple to use as a developer, but there are quite a few things happening behind the scenes to make the site itself faster to load for users (e.g. it inlines the CSS so you don't have to load a separate sheet).
The only downside of it is that it depends on a package manager.