Nick Ludlam and I have self-hosted recoil.org since around 1996, typically for email and web. These days, there are a number of interesting software stacks around decentralised communication that we deploy. This note keeps track of them.
- Email (active)
- Currently Postfix and DKIM/SPIF relays
- Till 2019, was OpenSMTPD and would like to return to it but waiting on filter support.
- Till around 2016, was qmail but finally gave up due to difficulty of spam filtering.
- Next step will be to try out the MirageOS email stack that dinosaure has been leading the development of.
- Web (active)
- This website is an OCaml webserver running a custom multicore OCaml webserver
- Next step will be to go solar powered with a custom DNS server.
- DNS (inactive)
- MirageOS DNS server.
- Currently offline due to a hosting issue so fell back to Gandi.
- Hopefully can secondary with @hannesm and his MirageOS infrastructure.
- Videos (active)
- Running a PeerTube instance on https://crank.recoil.org
- Also deployed this for the OCaml community as <watch.ocaml.org>, so my personal recoil instance is "following" the OCaml one as well as having my own videos.
- Chat (active)
- Running a Matrix Element. server with a HTTP srv for recoil.org
- Using element.io clients to connect to it.
- Lots of federation to other services happening from this via republished rooms, so its a fairly busy server.
- Next step is to deploy some of the OCaml Matrix clients to control the notifications. Element doesnt have very good push support.
- Decided not to bridge this to WhatsApp/Signal/etc as the maintenance cost is quite high and it requires unencrypted passwords.
- Need to regularly sweep the Element database to keep the size down, as detailed in this handy blog post.
- Activity (active)
- Deplyed a Mastadon instance for distributed tweeting via ActivityPub, on https://amok.recoil.org/
- Images (inactive)
- Tristan Henderson pointed me to pixelfed which seems worth a try for image sharing over ActivityPub. Not had a chance to use it yet.
- Spam (inactive)
- Problem with the chat service is that I'm getting quite a lot of spam requests on Matrix. Am experimenting with a Tezos node to act as a DID introduction proxy with gas costs. Hopefully there's a way to be introduced due to some common service (or some evidence of PoW for the communication such as having read and quoted one of my papers or something) and have micropayment as a last-resort.
- Also deployed SpamAssassin recoil-wide and custom bayes filters.
In general, our operating system of choice is OpenBSD (since 1998 or so) with Alpine Linux for the more recent things that run on a cloud or haven't been ported yet.