Short talk by Bob Mottram - Epicyon grew out of the need for a fediverse server on Freedombone - a self-hosting system

Short talk by Bob Mottram

Epicyon grew out of the need for a fediverse server on Freedom one - a self-hosting system

Originally I had used gnu social, but as the fediverse grew this became less feasible. Gnu social had no moderation capability, so was easily swamped by trolls

Later I moved over to running pleroma on Freedom one. Pleroma was a significant improvement, but still had problems, and was hard to maintain

So eventually a couple of years ago it became clear that I either had to leave the fediverse or write a server suitable for self-hosting on ARM single board computers

And that was the start of Epicyon

Since ActivityPub has an email-like structure of inbox and outbox I decided to implement it like an email server. That meant no database, just saving posts to files in directories

I also wanted it to be easy to maintain with the minimum number of dependencies, and capable of use with a screen reader for accessibility

Interpreting the ActivityPub spec was not easy, and many of the things essential to make it work - like the encryption signatures - were undocumented

So implementing was like being a detective looking for clues

Another thing I wanted was customisability. In corporate social media sites are extremely dull and monotonous

Same old bland layout and generic colors. To some extent the fediverse had copied this. But it didn’t have to be that way

I also wanted to support Tor and i2p domains, so that in the most hostile environments it would still be possible to set up social networks

There is now a script for deploying Epicyon on i2p

One thing I’ve left out so far is the mastodon API, so Epicyon is mainly web interface only

Instead I’m following the route of making a Progressive Web App

In future I may try to support WebAuth for two factors, but for now the simple login is good enough. I’ve avoided OAuth because it looked complicated and I didn’t like its clunky UX

Epicyon is the first web app of any significant size that I’ve written. In Freedombone I’ve avoided inventing any new apps unless there really is no alternative.

It’s written in Python 3 with a html5 and CSS user interface. There is no JavaScript, so it is usable in Tor browser or Privacy Browser with JavaScript turned off.

I think the theme ability may be an important factor to draw people into the fediverse. It’s something which the silo systems can’t or won’t deliver. This means you can customize your instance to express your personality.

4 Likes

This sounds incredibly inspiring! I have to watch this talk, as I’ve just started a similar journey.

Do you have any resources to point to that you wish someone had helped you find? :smile:

1 Like