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.