How to create your own Mastodon server in 10 steps

Screenshot of the Grow Your Own Services Mastodon server, with the site's account profile visible.

My overall experience of using managed hosting has been extremely good, they do a brilliant job of handling all the technical stuff. However, there are still some significant non-technical challenges, especially if you want to run a public server. It’s good to be aware of them before you start.

This is quite a long article, but I’m trying to cover all the basics so that you don’t get any nasty surprises later on.

Why would I want to start my own server?

There are many different reasons why people or organisations might want to start their own server, have a look at this article to see some of these reasons.

Step 1 – Decide what kind of server you want to have

There are three approaches you can take when making your own social media server:

  • Running a private single user server just for yourself – Extremely simple. The monthly cost will be very low, there won’t be any moderation to worry about. You can take things entirely at your own pace.
  • Running a server for a small number of friends or family – Still relatively simple, but you need to make them aware that you may be held responsible for what they post. The cost will depend on how many friends and family are on there, ask your server’s hosting company for prices.
  • Running a public server where strangers can sign up – A much bigger challenge with much bigger practical and moral responsibilities. In some countries you may also have additional legal responsibilities.

If you run a public server, you need to make sure your hosting company is taking regular backups, so that no one’s data gets lost if there’s a technical problem. If you ever decide to close your public server, you will need to give your members plenty of warning (ideally several months) so they have time to move their accounts to other servers.

Public servers also need to be aware of spiralling costs. If a server has membership open to anyone, the costs may quickly grow unexpectedly large. You should ask your server hosting company what the costs are for different numbers of members, so that you know when to close your sign-ups page.

Perhaps the biggest responsibility on public servers though is content moderation. I’ve done a section about it below in Step 6, but in brief you will need to lay down clear public rules for how people should behave on your server, and also enforce these rules. If you don’t do this, people may start posting nasty anti-social stuff on your server and other servers may block you.

Also, this is worth emphasising again: in some parts of the world running a public server may bring legal responsibilities. I am not a lawyer, I cannot give legal advice, but you should be aware there may be a big difference between running a private server and a public server.

Because of the much greater responsibilities with public servers, it’s probably a good idea to just start out with a private server where you are the only user. If that goes ok, a next step could be inviting people you trust onto your server while still keeping it closed to strangers.

Step 2 – Choose a managed hosting provider

If you do use a managed hosting company, one particularly important question to ask them is whether they let you export your server’s database if you decide to switch to another provider. Database exports let you seamlessly switch hosting companies, it means all your accounts, followers etc will stay the same. It’s a really good sign if a hosting company allows database exports because it makes it very easy to leave, and shows that the hosting company wants to earn your trust with good service rather than locking you in. You don’t need to be techy, your new managed hosting provider will be able to import the database for you, but it is crucial that you are able to get a copy of the database when you leave.

Managed hosting has worked really well for me. I haven’t had to install anything, or update anything, or do any kind of technical maintenance. I’ve had good communication with the hosting company and the upgrades have simply happened without me even realising. It’s like having a car that gets silently fixed and tuned all the time without having to open it up or take it to a garage.

Having said that, you may need to do one technical thing yourself, which is getting a domain name or subdomain for your server.

Step 3 – Domain names and subdomains

If you’re creating a Mastodon server, you will (probably) want to buy a domain name from a domain name company. Domains are memorable custom website addresses, such as example.com. Every site has one, it gives the site a sense of identity, and it will permanently appear on that site’s addresses so choose it carefully. Domain names are usually bought for a specific time period such as 1 or 2 years, after which you can renew it or abandon it. Domain prices vary a lot, but they are typically about 10 to 50 euros per year.

You can use the same domain name for hosting many different sites through something called subdomains. Subdomains are extra words at the start of domains, such as social.example.com. You can add as many different subdomains as you want to the same domain name, such as video.example.com, photography.example.com etc. Once you own a domain name, its subdomains cost nothing.

When you’re choosing a domain or subdomain, it is really important not to use the word “Mastodon” or any other social media platform’s name. It’s slightly complicated to explain, but addresses such as mastodon.example.com can create future legal complications, while platform-neutral names such as social.example.com will avoid all of these difficulties. By staying platform-neutral on domain names and subdomains, you will be future-proofing your server.

There are hundreds of domain name providers and domain types to choose from, so I don’t want to recommend any in particular. You don’t need to get domains from the server hosting company.

Alternatively, you don’t have to buy a domain name at all. Managed hosting companies will often let you use a free subdomain of their domain names. This means you don’t have to get involved in domain names at all, but also means you will not be able to change hosting companies if you ever want to move.

If domain names are confusing and you’re in any doubt about how to handle them, contact the managed hosting company and they will give you advice. Domains are the only really techy thing you will need to do yourself, and you only need to set them up once.

Step 4 – Use a computer if you can

It’s highly recommended that you administer your Mastodon server through the server’s website interface on a computer. It doesn’t have to be an expensive computer, the cheapest laptop is absolutely fine.

The web interface will give you access to all the controls and features that a server administrator needs, and it will be easiest to use this on a full size screen. (It is possible to maintain a server from your phone, but it’s fiddly.)

Step 5 – Decide on a public email address

If you’re running your own server, you will need an email address that is okay to show publicly. This is in case an outsider needs to get in touch with you about your server. On Mastodon, you will not be able to access your server’s settings until you provide a public email address.

I would strongly recommend creating a new email address just for this purpose, perhaps one which forwards mail to you. Don’t use your personal email address!

If you’ve bought your own domain name, they usually come with options for email forwarding, so if you bought example.com you could have forwarding addresses like email@example.com

If you don’t have a domain name, most email providers nowadays let you add additional addresses as aliases.

Once you’ve got your public address, add it in Mastodon at Preferences > Administration > Site Settings > Business E-Mail

Step 6 – Server moderation

When you own your own social media server, you are in control and that means you’re the one responsible for what goes on there. In some countries, you may be legally liable for what happens on your server. It is very important to take server moderation seriously.

Moderation means you keep an eye on what happens on your server, investigate reports of anti-social behaviour, and take action if needed. Action can range from giving someone a warning, to restricting or suspending their account for a while, to deleting an account permanently. (You will also need to manage your server’s “blocklist”, more info about this in step 7 below.)

On a federated network like the Fediverse, moderation isn’t just a matter of decent behaviour and legal liability, it’s also a practical thing. If you allow people to post all kinds of bad stuff, your server will be blocked by other servers. This would mean your users’ posts would no longer be visible to anyone on the servers blocking you. The more servers you upset, the less visible your server will become. The most offensive and anti-social servers end up talking to themselves, because so many other servers have blocked them.

Here’s how moderation works in practice:

  • If you’re the only one using the server, then all you have to do is watch what you post. Don’t post anything illegal or anti-social.
  • If you’re providing a server for family and friends, you will want to make sure they realise that you are the one who may get in trouble if they post illegal or anti-social content. Try to pick family/friends whom you trust.
  • If you’re providing a public server for strangers to sign up on, you will be taking on by far the greatest responsibility of all. It is the online equivalent of being a cafe owner, or the landlord of a pub. You will have to act as moderator, and be ready to intervene if your users do anything bad.

On public servers, it’s very important to have clear published rules that everyone has to obey. This means everyone knows how they have to behave, and it also tells prospective new members what kind of community they can expect on your server. You can add published rules on your Mastodon server by going to Preferences > Administration > Server Rules. These rules will be visible to anyone looking at your server’s website.

To make your life easier, you can screen users before they join by going to Preferences > Administration > Site Settings > Registrations Mode > Approval Required. This approval mode means anyone who joins has to write a few phrases explaining why they want to join, and you have to manually accept each member.

There are lots of tools on Mastodon to help with moderation, you’ll find most of them in Preferences > Moderation. You can also optionally give moderation powers to users you trust by marking them as “staff”, so they can help you moderate the server. Having server staff is very common on the largest servers.

Moderating a public server can be time-consuming, but it can also be very rewarding to create the conditions where a friendly community can grow. Most people are nice and will not do anything illegal or anti-social, it’s only a minority that you will actually have to moderate or ban.

Step 7 – Blocking and blocklists

By default, any other server on the Fediverse can interact with your server. The vast majority are nice. However a small minority of servers are run by nasty people who are pretty anti-social. If they post nasty replies to messages on your server, their nasty replies will be visible on your server too, and will be your responsibility to moderate.

You can block individual posts or users from other servers by clicking the “…” link below their post and selecting “Open moderation interface”. You can also report them to their home server by selecting “Report” and selecting the option to forward the report anonymously. If this doesn’t work, you may want to email their home server’s public contact address.

In extreme cases, for example if servers refuse to moderate their own users, you can block entire servers. You can do this by adding that server’s domain name to your blocklist. You can access your blocklist through the administration tools in Mastodon, go to Preferences > Moderation > Federation and then add the domain name of the site to be blocked.

If you want a more manual approach, try looking at the public blocklists of established servers that are well run. These public blocklists are usually visible on their “About” pages and usually give reasons for blocking each site too.

There are also often discussions of blocks under the hashtag #FediBlock. Bear in mind different people will have different reasons for blocking, and sometimes moderation reports are incorrect, so it’s always important to check the reasoning for any block before implementing it.

Step 8 – Customising your server

A fun aspect of owning your own server is customising it. On Mastodon you can choose a default dark or light theme, and add your own artwork, texts and emoji too. If you’re running a public server, the artwork and text will appear in catalogues of servers to join, so it’s worth making this as friendly to newcomers as possible.

As well as the visual customisation, you’ll want to adjust the server settings at Preferences > Administration > Site Settings including the very important “Registrations mode” section. Set this to “Nobody” while you are learning the ropes, otherwise other people may sign up before you are ready.

Step 9 – The Local timeline

If you’re looking at Mastodon through a server’s website, there’s a prominent link called “Local” which shows all of that server’s public posts.

On the official Mastodon app, you can see the Local timeline by clicking the magnifying glass icon at the bottom and then the “Community” tab at the top.

On small servers, the Local timeline can be a good source of community interaction. It lets members catch up with each other, and if it’s a “friends and family” server then everyone who posts there will know each other already. If you run a small server, it is well worth telling your users to browse the Local timeline.

Step 10 – Start following people, and optionally follow hashtag relays and groups too

When you first log in, you’ll notice there’s nothing on your server! The timeline is blank and the “Explore” tab is empty.

Is it worth making your own server?

It depends on what you want, but I would say if you’re interested give it a try! The cost barrier for small servers is low, the difficulty barrier for managed hosting is also low, and you can take things at your own pace. If you start off with a private single user server, there’s no moderating to worry about either.

If you give it a try and it’s not your thing, you can always transfer your self-hosted Mastodon account to someone else’s server. 🌱

Cartoon mastodon standing on two legs, holding a mobile phone and waving its other leg in greeting.