Managed Hosting vs. a VPS

Managed hosting is a good option for people with less technical experience. Self-hosting is a good option if you enjoy technology or have experience programming or managing servers.

Servers

A server is a computer running a program (such as Mastodon or PeerTube) that interacts with clients (such as your laptop or phone) over the internet.

Generally, servers are reachable at all times. They can be a physical computer located in your house (though there are security risks in this that you should know), or hosted in a datacenter (a professionally managed location providing space, power, cooling, and internet access for servers).

VPS

A virtual private server (VPS) is a server hosted in a datacenter as a virtual machine - a virtual computer that shares hardware resources (CPU, memory, etc.) with other VPSs. It's generally the simplest, cheapest kind of professionally managed server you can get.

Virtual machine? Because Consultatron is a small company, they don't have their own servers on-premises - that would mean a large upfront cost to buy the servers, as well as work to keep them maintained. So they pay someone else to run their servers - they can access them from the comfort of their office and do the same things they would do otherwise on them.

Info: For the most part, if you can host something on a VPS, you can also host it out of your house on a computer you own. This can help you save on hosting expenses, but it will increase your electricity consumption. It's a bit harder (involving port forwarding) and could also open you up to some security risks, so we won't cover it in this guide, but it is possible.

System requirements

The kind of VPS you need depends heavily on the size of your instance. If you're just running a small instance (of either Mastodon or PeerTube) for yourself or your friends, you can get away with as little as 1 (virtual CPU) core and 1.5 GB of RAM. If you intend to run a big instance (lots of users, or for PeerTube, lots of viewers), you need to scale up your hardware accordingly.

For PeerTube specially, you will need additional resources (as of writing, the documentation suggests 8 vCores and 8 GB of RAM) for transcoding. This isn't needed if you do transcoding remotely - using a remote runner, which the PeerTube documentation has more info on.

Hosting Mastodon on a VPS

If you're comfortable with Linux server administration, the Mastodon setup process is well documented. You'll need to install some prerequisites, set up a database, and download and configure a web server and set the Mastodon server app up on it.

Hosting PeerTube on a VPS

Setting up PeerTube on a VPS is quite similar to setting up Mastodon - although it takes some time, you can do it if you're somewhat familiar with the Linux command line. You can view the official documentation to know how to do it.

Advantages of self-hosting

More control

When self-hosting, you have more control over your instance - you're running and securing the server yourself. This means you have a broader choice of location (so your users get good connection) and hardware, as well as direct access to the database.

Also, if your country's laws or company's policies require that your digital services be hosted onsite, then self-hosting may be necessary for compliance purposes.

Server administration experience

If you're interested in getting experience running servers or using Linux, self-hosting is a great way to do it - it's well-supported but is still a challenge and a learning experience.

Cost (sometimes)

If you already have access to a server (for instance, some universities give their students free VPS credits), or if your instance's size-based needs mean that you can get a perfect fit using a VPS, then using a VPS might be cheaper.

With a VPS, you'll have a monthly cost for the server itself, as well as a yearly cost for a domain name. With managed hosting, you'll have the cost of the service as well as the cost of a domain name, though with Fedihost along with other managed hosting providers, you can get a subdomain for free.

Domains here, there, everywhere! Royal Robot, the RR (robot resources) manager of Consultatron, doesn't need her own domain for her personal PeerTube instance for posting cute cat videos. She can just get away with using mrrrrow.fedihost.co. But her company needs a more professional online presence, so they own their own domain consultatron.com, and host their Mastodon presence at social.consultatron.com - which they set up in the Fedihost configuration process.

With a VPS and some time investment, you can save money compared to a managed hosting provider, but make sure you know your needs hardware wise. Otherwise, you may end up having a really slow and unresponsive server, or end up paying too much for what you need.

For PeerTube in particular, you may have higher needs for the video transcoder, which takes the original video and turns it into a format that your instance can stream to viewers in multiple resolutions. Managed hosting providers such as Fedihost have shared transcoders, so that you don't need to pay for extra CPU resources full time when you only need them on your limited video upload schedule.

Advantages of managed hosting

Ease and time

Managed hosting is, put simply, easier for most people. You don't need to manage the inner technical workings of Mastodon - just whatever configuration you see in the online panel. This means you have to spend less time doing server administration work and can focus on running your instance.

Less server maintenance worries

With managed hosting, you don't need to worry about keeping the instance up to date, keeping it secure (other than making sure your configuration is sound and your admins/moderators' passwords are secure), or figuring out why if things break.

Shared storage

If you're running multiple instances (especially different kinds, such as Mastodon and PeerTube) with different needs for storage, FediHost and some other managed hosting providers pool your storage across your instances. This way, you don't pay for storage you don't need on one instance and run out of storage on another. With a VPS, you have to manage storage capacities and shared resources yourself.