At our birthday unconference STM18 last week, Frank gave a presentation (PDF) on running your own website and social media tools separate from the commercial silos like Facebook, Twitter etc. Collected under the name IndieWeb (i.e. the independent web), this is basically what used to be the default before we welcomed the tech companies’ silos into town. The IndieWeb never went away of course, I’ve been blogging in this exact same space for 16 years now, and ran a personal website for just under a decade before that. For broader groups to take their data and their lives out of silos it requires however easy options out, and low-threshold replacement tools.

One of the silos to replace is Twitter. There are various other tools around, like Mastodon. What they have in common is that it’s not run by a single company, but anyone can run a server, and then they federate, i.e. all work together. So that if I am on server 128, and you are on server 512 our messages still arrive in the right spot.

I’ve been looking at running a Mastodon instance, or similar, myself for a while. Because yes, there are more Mastodon servers (I have accounts on and on, but I know even less about who runs them and their tech skills, attitudes or values than I know about Twitter. I’ve just exchanged a big silo for a smaller one. The obvious logical endpoint of thinking about multiple instances or servers, is that instances should be individual, or based on existing groups that have some cohesion. More or less like e-mail, which also is a good analogy to think of when trying to understand Mastodon account names.

Ideally, running a Mastodon instance would be something you do yourself, and which at most has your household members in it. Or maybe you run one for a specific social context. So how easy is it, to run Mastodon myself.

Not easy.

I could deploy it on my own VPS. But maintaining a VPS is rather a lot of work. And I would need to find out if I run the right type of operating system and other packages to be able to do it. Not something for everyone, nor for me without setting aside some proper time.

Or I could spin up a Mastodon instance at Amazon’s server parks. That seems relatively easy to do, requiring a manageable list of mouse clicks. It doesn’t really fit my criteria though, even if it looks like a relatively quick way to at least have my own instance running. It would take me out of Twitter’s software silo, but not out of Amazon’s hardware silo. Everything would still be centralised on a US server, likely right next to the ones Twitter is using. Meaning I’d have more control over my own data, but not be bringing my stuff ‘home’.

Better already is something like, run by a volunteer named Hugo Gameiro who’s based in Portugal. It provides ease of use in terms of running your own instance, which is good, but leaves open issues of control and flexibility.

So I’d like a solution that either can run on a package with my local hosting provider or figure out how to run it on cheap hardware like Raspberry Pi which can be connected to my home router. The latter one I’d prefer, but for now I am looking to learn how easy it is to do the former.

Mastodon and other similar tools like Pleroma require various system components my hosting provider isn’t providing, nor likely to be willing to provide. Like many other hosters they do have library of scripts you can automatically install with all the right dependencies and settings. In the section ‘social media’ it doesn’t mention Mastodon or any other ‘modern’ varity, but they do list GnuSocial and its predecessor StatusNet. GnuSocial is a script that uses the same protocols like Mastodon, OStatus and ActivityPub. So it should be able to communicate with Mastodon.

I installed it and created an account for myself (and myself as administrator). Then I tried to find ways to federate with Mastodon instances. The interface is rather dreadful, and none of the admin settings seemed to hint at anything that lies beyond the GnuSocial instance itself, no mention of anything like federation.

The interface of GnuSocial

However in my profile a button labelled “+remote” popped up. And through that I can connect to other people on other instances. Such as the people I am connected to on Mastodon already. I did that, and it nicely links to their profiles. But none of their messages show up in my stream. Even if it looks I can send messages to them from my GnuSocial instance as I can do things like @someotheruser, they don’t seem to arrive. So if I am indeed sending something, there’s no-one listening at the other end.

I did connect to others externally

And I can send messages to them, although they do not seem to arrive

So that leaves a number of things for next steps to explore. Also on Mastodon in conversation with Maarten I noticed that I need to express better what I’m after. Something for another posting. To be continued.

5 reactions on “Running Mastodon Myself, an Experiment Pt1

  1. Sinds vandaag ben ik verhuisd met een van mijn social netwerk-accounts naar een account wat ik nog meer in eigen beheer heb. Vanaf de vroege start van Mastodon heb ik een account op het, het vlaggeschip van het decentrale netwerk.
    Gisteren las ik een blogpost van Laura Kalbag, zij is de helft van het duo achter onder andere In.die en de privacy tool Better. Zij beschrijft waarom ze er voor kiest om aanwezig te zijn op het Mastodon-netwerk via een eigen server, een zogenaamde instance.

    Dat is namelijk het bijzondere aan Mastodon. Je hóeft niet op een account te hebben om anderen te volgen. Het enige wat nodig is, is toegang tot het netwerk. Via welke Mastodon-server je maar kiest. Het is een federatie van netwerken. Zoals de Star Trek Federatie.

    Zo had ik vandaag met Patrick Loonstra (Twitter, Mastodon) een gesprek over Mastodon. Hij wil zijn account verhuizen van naar Dezelfde software, maar een andere groep gelijkgestemden die daar aanwezig zijn. En hij kan dan nog steeds iedereen volgen op andere servers. Maar op zijn “thuis”-instance kan hij lokaal sneller meer gelijkgestemden vinden. Dat is een keuze die je kunt maken. Het lijkt mij een goede keuze.

    Ik kies er voor om een eigen instance te hebben, voor mij alleen. Dat klinkt wat vreemd. Ik huur serverruimte voor 5 euro per maand, waar automatisch de Mastodon-software op is geladen en ik kan er mee aan de slag. Maar ik ben de enige die op die instance aanwezig is. Het is mijn software waar ik toegang toe heb. Zoals Laura het al zo duidelijk zegt in haar blogpost: Ik kan met redelijke zekerheid zeggen dat mijn Mastodon-instance mij niet zal profileren, geen advertenties zal tonen, geen algoritmische tijdlijn zal maken, geen ongewenste indringers zal hebben. Ik bepaal zelf wat ik wel en niet wil zien op de Fediverse en ik maak mijn eigen regels.

    Oh en ik kan eigen emoji maken voor mijn instance 🙂

    Je vindt me op Log in met je eigen Mastodon account en klik op Follow.

    Ben je benieuwd geworden om een eigen Mastodon instance-of-one te starten? Voor de prijs van twee cappucino’s per maand kun je aan de slag bij Een hosting-partij die is gespecialiseerd in Mastodon-servers. Wil je het écht helemaal zelf doen? Lees dan hoe Ton Zijlstra onderzoekt hoe hij Mastodon op een Raspberry Pi kan laten draaien. Wat nog geen eenvoudige opgave is.

    Ik zal de komende dagen nog extra blogposts schrijven over het beheren van de Mastodon-software en hoe ik het verhuisproces heb gedaan.

    Happy tooting!

  2. My first steps experimenting with a self-run Mastodon instance were a bit disappointing. However I came across this guide by Wim Vanderbauwhede to run a Mastodon or Pleroma instance on a Raspberry Pi 3b. I’m definitely going to try this. A Raspberry Pi will be delivered after the weekend. In parallel I will try and update my GnuSocial instance I installed earlier to see if it improves functionality. share share share tweet share e-mail 

  3. I plan to dedicate some learning time in the coming 12 weeks to better understand the protocols that drive the independent web, or IndieWeb. During our STM18 birthday unconference Frank Meeuwsen presented his experiences on the IndieWeb. Frank, Peter and I have formed an impromptu triade to explore the IndieWeb in the past months. In one of his slides Frank conveniently listed the relevant protocols. I’ll plan for 24 hours to explore 6 protocols. Some of them I already understand better than others, so I’ll start with the ones I feel less knowledgeable about.
    The ones I want to explore in more detail, in planned order, are:

    ActivityPub / OStatus, a decentralized networking protocol (as this ties into my Mastodon experiments as well, this comes first)

    Micropub, publish on your own domain with 3rd party tools

    Microsub, own your feed-subscriptions (although I already run my own TinyTinyRss instance)

    Microformats, markup for data, text, people, events (already used on my blog, but curious to see how I can extend that to more types of data)

    Indieauth, federated login protocol to sign in with your own domain on other services (already active on my blog, but interested in where else I could use it)

    Webmentions, respond to a blogpost through your own site (already active on my site, but strongly wish to better format and style it on my site)


  4. As I didn’t succeed yet in getting Mastodon to run on a Raspberry Pi, nor in running a Gnu Social instance that actually federates on my hosting package, I’ve opted for an intermediate solution to running my own Mastodon instance.
    Key in all this is satisfying three dimensions: control, flexibility and ease of use. My earlier attempts satisfy the control and flexibility dimensions, but as I have a hard time getting them to work, do not satisfy the ease of use dimension yet.
    At the same time I did not want to keep using Mastodon on a generic server much longer, as it builds up a history there which with every conversation ups the cost of leaving.
    The logical end point of the distributed web and federated services is running your own individual instance. Much as in the way I run my own blog, I want my own Mastodon instance.
    Such an individual instance needs to be within my own scope of control. This means having it at a domain I own. and being able to move everything to a different server at will.
    There is a hoster, run by Hugo Gameiro, who provides Mastodon hosting as a monthly subscription. As it allows me to use my own domain name, and provides me with admin privileges of the mastodon instance, this is a workable solution. When I succeed in getting my own instance of Mastodon running on the Rapsberry Pi, I can simply move the entire instance at to it.
    Working with Hugo at was straightforward. After registering for the service, Hugo got in touch with me to ensure the DNS settings on my own domain were correct, and briefly afterwards everything was up and running.
    Frank Meeuwsen, who started using last month, kindly wrote up a ‘moving your mastodon account’ guide in his blog (in Dutch). I followed (most) of that, to ensure a smooth transition.
    Using Mastodon? Do follow me at

    Screenshots of my old account, and my new one on my own domain. And the goodbye and hello world messages from both.


  5. Previously I had tried to get GNU Social running on my own hosted domain as a way to interact with Mastodon. I did not get it to work, for reasons unclear to me, I could follow people on Mastodon but would not receive messages, nor would they see mine.
    This morning I saw the message below in my Mastodon timeline.

    It originates from Peter Rukavina’s own GNU Social install. So at least he got the ‘sending mentions’ part working. He is also able to receive my replies, as my responses show up underneath his original message. Including ones I limited the visibility of it seems.

    Now I am curious to compare notes. Which version of GNU Social? Any tweaks? Does Peter receive my timeline? How do permissions propagate (I only let people follow me after I approve them)? And more. I notice that his URL structures are different from those in my GNU Social install for instance.


Comments are closed.