A Beginner’s Guide to Nextcloud: what it is and how to set it up

Nextcloud ⧉ is free open source software that lets you set up your own independent online services, instead of relying on companies like Google or Apple. There are lots of reasons why having your own indie services is a good idea, and Nextcloud is one of the easiest and best ways of doing this.

It was originally developed for businesses, governments and organisations, but it is now available to anyone, and includes lots of features for private individuals too.

Once Nextcloud is set up, there’s a wide range of services ⧉ you can add with a few clicks, such as storing photos, sharing files, syncing calendars and contacts, collaborating on documents, running your own private messaging system, streaming your music collection, running surveys, creating your own cookbook and lots more.

All of the services can be accessed through your Nextcloud’s website, but some can also be accessed through mobile apps.

Because Nextcloud runs on free and open source software and is available through managed hosting services, anyone can set up their own Nextcloud server. You don’t need to be a tech nerd, and you don’t need to be rich.

If you’re interested in giving this a go, there’s a guide below which explains how to set up your own Nextcloud. This has been written with non-technical people in mind:

Step 1 – Choose a hosting company

There are many Nextcloud hosting companies out there because it’s such a popular platform. Many website hosting companies offer Nextcloud as a service you can install and update yourself with a few clicks. If you need suggestions, have a look on the Grow your own cloud page.

Hosting companies vary greatly in price, but you can get a reliable fast Nextcloud for about 10 euros a month. I would avoid using any “free” services, because they tend to be slow or unreliable (unless it’s a free trial period for a paid service).

The reason you have to pay is because there are no ads, no one is spying on you, and someone has to pay for the cost of keeping the server hardware going. It’s effectively the price you pay for privacy and independence.

Some managed hosting companies let you install the complete range of Nextcloud add-on apps, while others have a restricted range available. Check with potential hosting companies which apps are included by default, and whether you can add new apps yourself.

Also, if you want to avoid as much techy stuff as possible, choose a hosting company that offers domain names too (see step 2 below).

Step 2 – Choose a domain name or subdomain

A domain name is a website address like example.com, which will let you access your Nextcloud through a web browser. The most convenient option is to buy the domain name from the same company that provides the Nextcloud hosting (see step 1 above), because it will save you a lot of bother technically. However, you don’t have to do this, and some prefer to buy domains separately.

The prices of domains can vary tremendously, so try lots of different addresses until you find one that suits you. There should be some in everyone’s price range.

If you already own a domain name, you can connect your Nextcloud to a subdomain of that for free. For example, if you already have a website at example.com you could have your Nextcloud at an address like cloud.example.com. You only need to pay for a domain, all of its subdomains are included in the domain’s price.

Alternatively, if you don’t want to own a domain name at all, some hosting companies let you use a free subdomain based on a domain they own. Bear in mind though that if you use a hosting company’s subdomain, it will be more difficult to change hosting companies if you ever need to. A hosting company’s subdomains remain their property, while your domains are your property.

Step 3 – Sign up for hosting and connect your Nextcloud to a domain or subdomain

Once you’ve decided on a domain and hosting company, go ahead and sign up for both.

If you buy your domain name and Nextcloud hosting from the same company, they will handle all the technical process of connecting them together. This is the easiest option.

If you buy your domain name and Nextcloud hosting from different companies, you will need to follow your hosting company’s instructions to connect your domain to your Nextcloud. This will be pretty technical, but you only need to do it once and the hosting company and domain companies should provide you with technical support.

Step 4 – Sign in to your Nextcloud for the first time

Once it’s all set up, you need to sign in on your Nextcloud for the first time. Do this by going to your domain (example.com) or subdomain (subdomain.example.com) through your web browser.

When you do this for the first time, you will need to pick a username and password, and the account you set up like this will be an “administrator” account. This means the account has lots of special powers such as adding or removing users, installing apps and adjusting your Nextcloud’s settings. Because of these extensive powers, be very careful about who has access to this account. Don’t use an easy-to-guess password.

In order to have maximum security, some people create a separate personal account for their everyday use, and only sign in to the administrator account on rare occasions.

Another thing that may happen when you sign in for the first time is it asks you if you want to install a default set of apps. These are the most commonly used apps that Nextcloud themselves recommend. Don’t worry too much about this, as you can add or remove apps yourself later (see step 6 below).

Step 5 – Adding other users (optional)

If it’s a shared Nextcloud, you can use the admin account to create accounts and passwords for your friends, family or colleagues. This also lets you assign them storage limits (so that you don’t go over the limit of your hosting plan) which restricts how many photos and other data they can upload.

If you do give other people accounts on your Nextcloud, please bear in mind that in some parts of the world you may be legally responsible if they upload illegal material to your Nextcloud. I am not a lawyer, I cannot give legal advice, and I cannot tell you what the situation is in your area, but it’s important that you are aware of this possibility. You may wish to consult with a legal expert in your country, especially if you are going to have strangers on a Nextcloud that you own.

You don’t have to share your Nextcloud though, lots of people have Nextclouds just for their own personal use. By default, you are the only one who has access, no one else can sign up on your site unless you create an account for them.

Step 6 – Add some apps

When you log in through the website, you can see icons for your Nextcloud’s apps along the top of the screen. Click on an icon to access that app.

If you install it in its barest form, Nextcloud comes with administrative tools, a Files app and a Photos app. It can do a lot more than this, though! The way you get other functions is by installing more apps from the built-in app catalogue. You can access the catalogue by logging in to the administrator’s account, then clicking on the profile image in the top right corner and selecting “Apps”.

(If you cannot see the “Apps” link, it may mean you have signed up with a hosting company that does not allow additional apps to be added. This is why it is important to choose a hosting company carefully, as mentioned in step 1 above. However, they may manually add apps to your Nextcloud if you ask them to, it’s worth contacting them just in case.)

Despite its “app store” name, the apps in the catalogue are all free and open source, and can be installed by just clicking on their “Download and enable” buttons. They are organised by categories along the left side of the screen. If you want to sort the apps by ratings, read reviews etc, this can be done on the Nextcloud Apps ⧉ site, and the catalogue has “View in store” links for doing this next to each app listing.

Apps can be disabled by going to the app catalogue, browse the “Your apps” category, then click “Disable”. To remove an app completely, disable it and then click “Remove”.

You’ll also be able to update your apps from the app catalogue, it will automatically display a message letting you know if you have apps ready to be updated. Click on the “Update” button to do the updates.

Step 7 – Customise your Nextcloud

You can customise your Nextcloud so that it has a certain colour scheme, log on page image, background image, logo, name etc.

To do this, log in through the administrator’s account, click on “Settings”, then on the left sidebar select “Theming” in the “Administration” section.

Step 8 – Mobile apps and smartphone support

Lots of the apps on Nextcloud can be accessed through mobile apps for Android and iPhone / iPad.

Some of these mobile apps are purpose built for Nextcloud (such as Nextcloud ⧉ or Nextcloud Talk ⧉), while others are more general that use the same open standards as Nextcloud (such as Substreamer ⧉).

Nextcloud also includes compatibility with many phones’ built-in features. For example, you can sync Nextcloud’s Calendar and Contacts apps with the iPhone’s Calendar and Contacts apps ⧉.

Step 9 – Make sure there are regular back-ups

When you’re choosing a hosting company (as in step 1 above), ask them what their backup policy is for their customers. This is really important in case something goes wrong, and it’s especially important if you are running a Nextcloud on other people’s behalf.

Some hosting companies will have an automated system where it takes regular backups that you can restore from, and you can download these to your own computer to make extra sure that there is something to roll back to.

Step 10 – Legal stuff

As mentioned earlier, I am not a lawyer, and I cannot give legal advice.

However, depending on where you live, it is possible that you are legally responsible for what is uploaded to your Nextcloud, even if it’s one of your users doing the uploading.

Bear this in mind when choosing who gets access to your Nextcloud. Only give accounts to people you trust.

Is Nextcloud for you?

If you’re at all interested in having your own online services, Nextcloud is a really good place to start. It’s easy to use, cheap to run, there are all kinds of add-on features available and lots of hosting companies to choose from.

It’s probably the most accessible and powerful alternative to Google or Apple, and it shows it’s possible to go your own way and “grow your own”. 🌱

Making your own Mastodon server in 10 steps

As part of creating the Grow Your Own Services site, I set up my own Mastodon server through a managed hosting service, and have written an article about the experience in order to help others do the same thing.

There are some Mastodon-specific details, but most of it applies to any kind of homegrown social media server, especially those that are part of the Fediverse. If you haven’t already, please take a look at Grow your own social network and What is the Fediverse? so you can find out what the Fediverse is, and how homegrown social media can work.

If you’re wondering why someone would want their own server at all, have a look at the Why page.

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.

I hope this guide is helpful, please let me know if you have questions, feedback or suggestions.

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

The first step to creating your own social media server is finding a managed hosting company to do the technical stuff. The way they work is this: you pay them a monthly fee, and in return they will set up your server on their computers, maintain it, fix it and continually upgrade it. Their websites will give more details on pricing etc.

Managed hosting is not compulsory. If you’re technically skilled enough you can install and maintain a server yourself, but managed hosting is a much easier option. (Very advanced users may want to browse the official Mastodon documentation ⧉, which details how the software works.)

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 20 euros per year.

If you’re using the same domain name for hosting many different sites, you may want to use something called a subdomain. Subdomains have 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.

In my case, I already owned the domain name growyourown.services as the address of my main website, so I chose to run my Mastodon server from the subdomain social.growyourown.services. The managed hosting company gave me help with setting it up. This setup process is technical, but the instructions they gave were very clear, and I was able to get support from the domain name provider as well. After this, I didn’t have to do anything else technical!

There are hundreds of domain name providers and domain types to choose from, so I don’t want to recommend any in particular. You can use any domain name provider, you don’t need to get it 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 to get a headstart on servers to block, try looking at the public blocklists of established servers that are well run. These public blocklists are usually visible on their “About this server” 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 copying 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.

Emoji are so tiny that they can be tricky to get right, but there’s a useful article about custom emoji by Laura Kalbag ⧉ which goes through how to use and make them. If you’re looking at custom emoji in the administration interface, you may see custom emoji from other servers suddenly appearing there. This is normal! Any emoji from servers you connect with will be visible to you so you can block anything offensive (but it is thankfully quite rare to see offensive emoji). Custom emoji can have transparent backgrounds, and they can also be animated as long as they fit into the maximum file size.

If you’re a techy person you can add custom CSS to your server (at the bottom of the Site Settings page), and there are ways of editing the themes too, but this is totally optional.

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 the website, there’s a prominent link called “Local” which shows all your server’s public posts.

On the official Mastodon app, you can see the Local timeline by clicking “Search” and then “Community”.

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!

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

By default, servers on the Fediverse don’t follow anyone, and no one follows them. Some people leave their server isolated and just talk to other members on the same server. However, most people (and especially those on single user servers!) will want to follow accounts on other servers too.

If you’ve already got a Mastodon account elsewhere, you can move it to your server ⧉. This will link your server to all your existing followers and follows.

If you’re starting from scratch, you can find people to follow on Trunk ⧉, Fediverse.info ⧉ and FediFollows ⧉.

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.