Confused about Self Hosting

(My level: built few semi complex websites on Wix, beginner coder)
A major confusion I had that’s a lil more clarified now is that self hosting Discourse is very different to ‘web hosting’
1) Self hosting Discourse requiring a server, means a whole other thing right? (hence the big price difference from web hosting prices commonly advertised, right)
2) So is ‘VPS hosting’ the equivalent term relating to self hosting Discourse? Or are there other options for this too? Another kind of self hosting? (I’m aware of hosting on your own hardware though)

3.1) Then ‘managed hosting’; is this a service on top of that VPS type hosting? 3.2) Is this much more pricey? 3.3) Doing exactly what though? 3.4) As a rookie brokie starting a small forum (~100 users/month), managed hosting can be done without right?

After hrs reading online re hosting Discourse, the post the foll. quote’s from, was a most helpful & complete overview to help chose my hosting path

Re this quoted point, can someone pls clarify these:
4.1) I take it that this is about maintaining the server? Isn’t that already included now when going through DO/Hetzner? Or will that only be included in a separate kinda service? Then what’s it called? Like if I do DO’s 1 click droplet thing, is this the kinda thing including that maintenance? Or is that only related to setup
4.2) What kinda time/time & knowledge level does ‘maintaining it’ entail for my kinda forum?
4.3) @tophee said “For various reasons, managed servers are rarely used by admins of discourse forums” Why’s this?

I found this decision tree also pretty helpful, maybe it’s outdated so if some of em are easier now pls lmk


5.1) I don’t quite get what SSH is, & as per this graph do all self hosters need this?
5.2) What do they mean by being ok with managing DO, MailGun & DNS? What kinda time/time & knowledge level does managing these entail for my kinda forum?

I’ll try to answer your questions although I think you may have some over-lapping terms leading to some of your confusion.

When folks on this forum refer to ‘self-hosting’ Discourse they are referring to running an instance of Discourse on your own server. (more on this in a minute) When they refer to ‘managed hosting’ they are referring to a service which provides an instance of Discourse running on hardware the host also provides. By ‘managed hosting’ they mean the instance of Discourse is managed by the service, they handle keeping the Discourse instance updated and the operating system Discourse is running on updated and running properly.

To ‘self-host’ Discourse you need a server which has access to the internet and a properly configured DNS service pointing at your server. The server can be real hardware running on your premise or it can be a ‘VPS’. A VPS stands for Virtual Private Server. A VPS is server hardware provided to you which you have total control over as if it was on premise but you access it ‘remotely’. By ‘accessing it remotely’ I mean you use tools such as SSH and FTP to access the server, control it and transfer files to it.

SSH is ‘Secure Shell’. A secure shell is basically a command prompt running through a secure (encrypted) tunnel. Are you familiar with running a server from the command prompt?

Shell, terminal, command line and command prompt all kind of mean the same thing. Running a computer using a terminal window and typing in commands at the prompt. If everything I just said sounds like a different language this might require some learning before attempting.

When you rent a VPS, you are provided credentials and the IP address of your new server. Usually when you purchase, you are given a chose of operating systems. You log on to your server using a terminal program such as PuTTY or just the terminal window on your computer. You can use a FTP (File Transfer Protocol) program such as Filezilla to transfer files from your computer to the VPS

So once you have rented a VPS and logged onto it using your SSH you can then install an instance of Discourse on your server and then you will be ‘self-hosting’ Discourse. You have full control over your Discourse instance and the server it is running on. You can usually keep Discourse up to date with the built in administration tools within Discourse itself but occasionally you will have to use the command prompt to update manually. You also need to keep backups of your data and know how to restore them. Discourse makes backups automatically but you must download them and store them securely in case you need them.

With a VPS you will also have to maintain the operating system your Discourse instance is running on. This requires some knowledge of the operating system and how to keep it up to date and properly running. If you screw up the VPS usually all the VPS hosting service is capable of doing is wiping out your operating system and reloading a fresh version. You also have to backup the important data needed should you need to reload the operating system.

Once setup and running, this is a fairly easy thing to maintain, if you know what you are doing. From your description of your skills I think you could handle it. The best way to learn how to do all this is try. Renting a VPS is fairly inexpensive these days. Set up a server, try to get Discourse up and running on it and come here or ask.discourse.org if you have questions.

Just bear in mind if the forum you run doesn’t get a lot of traffic, which it won’t all on it’s own, if you screw it up you can just start over. If a bunch of people join your forum and start posting then you will need to keep it maintained and backed up. If you have a pre-existing forum, or a product you want to promote or support maybe check out a hosting provider. If you are just goofing around and learning… go for it

Discourse hosting =/= self-hosted

i am an experienced self-hoster and have done some complex configurations; as well, i used to work for Discourse, so i have some insight into the two concepts, which it seems like you have a bit mixed up. i will try to clear some things up for you, but this is by no means an exhaustive explanation, even if longwinded lol. i don’t know where you got that flow chart from but it isn’t really correct.

Discourse hosting is what it sounds like - Discourse will host your site for a fee, and as you have already discovered, there are different priced tiers, starting at free, that offer more options as you go up, and enterprise is the top and most expensive (it gives you the most options as well as their top-of-line support services). managed hosting is the same (Discourse hosting is a form of managed hosting), but also offered by other partner companies like Communiteq or Literate Computing. these partner companies also offer various development and support services for a fee apart from hosting (as do i). keep in mind work is not usually free for development and specialized support, and this is what the Marketplace is for. Also, while the Discourse hosting prices structure may seem expensive to you, i can assure you that many well-known companies pay them top-dollar for their very large, busy and well run enterprise forums, may of them private. the SLAs and levels of support / development services that Discourse offers them are such because their business activity demands it. for example, if you are a tech firm and you are hit by a DDoS attack that can cost your company 6 figures in downtime and loss of services, or you require a very customized professional interface for a large number of employees, then paying enterprise hosting is well-worth it.

self-hosting means what it says - you are hosting your own site on a rented server (or a physical one you own, which i don’t recommend because that is another advanced can of worms). self-hosting isn’t just renting a server (or VPS - virtual private server) and ssh’ing in and there you go. there is some knowledge that one has to have in order to be a self-hosted admin. a beginner coder who’s built a few wix websites isn’t going to do much for you from a self-hosting Discourse perspective; very different things and skill level. the fact you don’t know what SSH is yet is probably an indicator that you have some growing to do in that area. Secure Shell - Wikipedia

if you are interested in learning, i would suggest you begin by reading the standard install documentation and learn the ropes from there. some find it easier than others, and the fact you have some website admin experience may help you learn faster. just being able ssh into a server is one thing, but you have to be comfortable in a command line interface and understand the basics of docker admin, and how containers work. since you say you have a small site, then a standard install will probable work fine to start from, and it will give you access to all the built-in plugins, plus any others you might want to add; essentially, a self-hosted Discourse instance is like having your own enterprise level Discourse hosted forum but without their expert support and uptime SLAs and performance (for example, you will have some downtime every time you re-build or do updates, but Discourse hosting does this for you and without any descernable downtime).

there is no reason whatsoever that you cannot learn how to self-host, but remember that nothing is free and what service and scale you want will determine what cost you will need to pay. some VPS services are cheaper than others, and there is a list here that @pfaffman has put together that can help you decide. for example, i have 3 Discourse sites, all on Hetzner, but with different sized servers and costs associated with them: 2 sites are dual-container installs behind Cloudflare CDN with R2 (S3 compatible) object storage for uploads and backups, and the other is a standard install used for testing purposes. i have used DigitalOcean before but it can be relatively expensive; however, it is the recommended starting point for those learning standard installs (although i don’t actually find Hetzner that much different, and i prefer their dashboard).

if you do not want to pay Discourse or any of their partner hosting companies to manage your hosting, and you need more than the free tier, then my recommendation is to do some research and reading, then try a self-install. learn what an app.yml file is and how to edit it, how to setup your nameserver and email services - this is the starting point for learning how to configure your own discourse instance as a self-hoster. some VPS services will let you rent servers quite cheap for short periods just for testing or learning.

This is a decent chart and I agree with everything the people above me have already said (even though I would strongly advise against a beginner using a LLM for support because they are so blatantly wrong a lot of the time). However, self-hosting is a large umbrella term that could be disambiguated here.

If you:

  • are comfortable running Linux on your own hardware (or suffering through reading 15 year old Reddit posts)
  • don’t have money to spend with big tech
  • have consistent, guaranteed 24/7 internet and power
  • do not have ISP-imposed restrictions (such as a closed port 80/443 or dynamic ipv4)
  • can do basic networking (port forwarding)
  • have a spare computer (can be an old office box with 4gb of ddr3 realistically so long as you have a SSD)

… then I would definitely recommend hosting on your own hardware. It gets a bad reputation a lot of the time around here for reasons unknown to me (variability?) but so long as you are capable of it then I would definitely recommend giving it a go! Self-hosting has always been my way of doing things and it was great when I was younger and couldn’t afford cloud. Even now, I choose to self-host on local servers because it’s cheap, predictable, and you’re free to do things however you’d like.

There is a lot to learn with self-hosting and even if you manage to successfully install it on either your own hardware or a VPS , you’ll still have more work cut out for you. You can always skip all of this and go for a hosted plan but if you’re looking to save money then self-hosting (especially on your own hardware) is great.