So simply joining an existing mastodon instance is not enough for you, you want control? Set up your own! The official documentation has a page about that, including listing a bunch of specialised hosting providers that will do this installation bit for you. But we like the more difficult road with the rewarding learning curve around here. Make sure you get get your linux box prepared, and we'll get into setting up a mastodon instance on local hardware, running linux, without docker, and without cloud storage.


  • Step 1; Get to installing mastodon

  • Details )


  • Step 2; Get to customising mastodon

  • Details )


  • Step 3; Should you set up an instance for other people?

  • Details )
    I don't know why I left it so long to figure out how to do this. Yes, running everything yourself on a home connection is less stable than using a hosted service. But in the spirit of making the internet more chaotic, and a bit grungier, let's do this.

    My set-up is quite specific. I bought (though rented is more correct) a domain, example.com, through my regular domain registrar. I want to run a subdomain, server.example.com, from hardware under the tv. I do not have a static ip, so I'm going to need a dynamic dns provider. I'm using dynv6, because they were the first provider recommended to me. (The irony being that in the course of this project I discovered my ISP (Internet Service Provider)'s router doesn't let me use ipv6 at all.) The hardware is something I don't want to talk about right now, but it's a linux box running a variant of debian. And I'm also using a hosted email provider that lets you bring your own domain. All accounts created and services paid for. But how does it all go together?


  • Step 1; Create the subdomain, and delegate it


  • Details )


  • Step 2; Set up your hardware on your network


  • Details )


  • Step 3; Set up ddclient on your hardware


  • Details )


  • Step 4; Optionally test it's all working


  • Details )


  • Step 5; Optionally set up email DNS records as well


  • Details )


  • Step 6; Install your server software | Choose your own adventure style


  • Whatever you are planning on doing, like apache2 or nginx, do it here. Also now is a time to think about things like iptables.


  • Step 7; Optionally run certbot


  • Details )


  • Step finally;


  • Enjoy running your server!