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 team services and custom design and development options). 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, many 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 or financial organization 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 probably 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.

If one runs it on say, a spare computer at home, that would require both the computer to be on 24/7, and likely a Cloudflare Tunnel be set up, no? So I would be geared towards simply renting a server, getting a domain name and getting a email server. When I first started self-hosting, I was pretty muddled with so many terms flying around, but since Discourse has some solid documentation, and with the installation being a guided process through the CLI installer, I’d say setting it up as a beginner isn’t that hard after all.

Not necessarily. Port forwarding is supported by a lot of routers (even basic ones and ISP gateways) which is obviously the preferred way to do things especially if you can have a reverse proxy. I would only recommend a Cloudflare tunnel to somebody who can’t port forward or doesn’t want to tinker with the network of anything.

This misses on a key consideration, You can’t be sure your home firewall is ready to handle all the attack vectors that can be exploited by opening ports to the public internet. In general I would advise against opening ports directly, use something like cf tunnels to protect your home IP from being DDoS’ed and potentially being banned by most other networks.

This is something that I might have taken for granted because my Unifi network automatically sets up and maintains a firewall with little to no intervention, besides unblocking signatures it misidentifies as malicious (soulseek and minecraft namely). Cloudflare tunnels are a good solution for most ISP-related bottlenecks but I’ve never used it in the name of security to give an accurate comment on that, besides knowing that using an orange cloud in DNS offers better security with DDOS protection and everything else built in.

The internet is a dangerous place and publishing anything on the public web poses a risk that bots will find you and try attacking you. CF Tunnels are good at preventing some of that but you won’t stop the automated bot scanner traffic and there is no such thing as a 100% secure program.

Your Unifi does what any reasonably configured firewall is supposed to do, but we never know if or when there is an unpatched vulnerability being actively exploited in the wild.

the rationale behind not opening ports on a residential connection, particularly if you are hosting homelab or services with important/personal data, an open port, if not properly secured can and will be used to get unauthorised access to your home network.

The merit of routing it via something like cf tunnels is that you’re not immediately exposing your home network to the public. You have cloudflare as a middleman and given their size, there is strong chance their filtering will be far more proactive at preventing emerging threats.

What we’re saying I think is that self hosting demands some level of skill in Linux system administration and security.

The cheaper ways to proceed demand more expertise and effort.

Returned asa i could. Took a while to carefully appreciate & digest all these highly thoughtful & detailed responses for each doubt I had. Replies so helpful, found myself smiling through them; clarified so much confusion, now I really understand what many things mean & what they entail. What a buncha special souls & a lovely community

Few remaining doubts;
1) Do VPS providers like DO also offer managed hosting for Discourse?
2.1) What kinda time/time & knowledge level does maintaining a vps hosting discourse entail for my kinda forum?
2.2) @tophee said “For various reasons, managed servers are rarely used by admins of discourse forums” Why’s this then? Cuz it takes some ad hoc work but not too much work?
3) Re managing SMTP & DNS, what kinda time/time & knowledge level do these entail for my kinda forum?

Not at all in this context. I’ve only minimally used the command prompt to install/fix stuff on my pc following tutorials, barely knowing what I’m doing.
@Andrew_Rowe said “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”
This touches on a concern I had about SEO & discoverability;
4) Suppose forum content is constant. How will the forum’s SEO & discvbty compare with free Discourse hosting vs self hosting?
Is this a big factor causing major differences; is Discourse’s own free plan so optimized & ahead in this aspect than self hosted setup done well by a rookie using non-managed vps?
Or is this not even much of a factor causing much difference?
Does just updating a self hosted Discourse ensure this aspect is up to a Discourse’s free plan equivalent?

@Lilly I so appreciate this long explanation from you. Although some assumptions behind some comments in your response don’t apply to me & I’ve already clarified them in posts you’ve had to have read to reply

:backhand_index_pointing_up:This was one of your many helpful insights which gave me a clearer picture

@Lilly said ‘i have used DigitalOcean before but it can be relatively expensive; however, it is the recommended starting point for those learning standard installs’
This touched on another concern I had; not re computing performance & specs, but re a proper setup & maintenance;
5) Does DO/Hetzner provide a significant difference compared to a very cheap (but ofc must be legit) vps? fr eg these: IONOS VPS Hosting | Virtual Private Servers | Starting at $2/month
vps mart VPS Promotion 2026, Starting at $1.04/month
Interserver’s $3/m for 2GB RAM

@darkpixlz Thank you for your reply. I’ve felt hosting on own hardware would be too much of another worm can for me so I didn’t consider it, & you further clarified how I’m not really equipped for this particular option

I do not believe so no

not a lot of time… if you know what you are doing but…

this would make maintaining a vps hosting discourse much more difficult.

DNS is pretty simple. You could stumble through it with AI help and once it works the task is complete and there are online tools to verify it is working correctly

SMTP is another story. Lots of folks who self host Discourse use a service. Search this forum for recommendations. I personally use docker mail server but I have digest emails turned off so not much email traffic

Oops, this is pretty much what @Andrew_Rowe said. I really should read to the end before replying.

Not usually.

As much as you’ll let it. I’ve let it be a full time job. I’ve seen people not upgrade a server for years.

You need to know enough about SMTP to set up mailgun or similar. You need to know enough about DNS to create the necessary records for mail and the host to work.

SEO has nothing to do with whether you’re self-hosted.

IIRC the reason is because if you want to update, or fix something via the command-line, you may not always have complete access, instead having your provider to do these things for you, so in a sense not exactly owning all your data. But check this info first. Things could have changed.

not sure what this means but if you’ve clarified anything i posted, i don’t think i read it before posting. at any rate i tried to be as thorough as possible so there may be more info than you needed, i don’t know.

i don’t know anything about these VPS services, but i had a look…

myself, i would not attempt to run even a small forum on anything less than 4GB RAM and enough disk space to make a 2GB swap file.

but you need to read the terms and the details and understand what you are getting. Some of these services only offer a shared assigned IP, which won’t work for discourse - for example, vps-mart.com:

thus, i would not use their services even though the other specs are reasonable for a small Discourse install. an official discourse_docker installation generally requires exclusive access to ports 80 and 443 to serve web traffic and automatically provision Let’s Encrypt SSL certificates. with their shared IP, you will only be assigned randomized non-standard ports.

on IONOS VPS Hosting | Virtual Private Servers | Starting at $2/month i see that the $4/month config requires a 12 month term and no details about IP, so it is important to really read the terms of what you are wanting (i also notice they offer Plesk, which you don’t want :face_vomiting:) :

this is the current Hetzner costs for similar Linux config that will work for Discourse, and it provides dedicated IP and root ssh access:

what is also great about Hetzner is if you just want to test or try, you can rent servers by the hour:

I think the simplest way to find out is to follow the Discourse official 30-minute install guide for self-hosting on Digital Ocean:

The first time I followed these instructions, I had little or no prior experience before in setting up DNS, SMTP, SSH, but I was able to successfully set up a forum right away. now I find these straightforward after doing it many times.

If you don’t end up using that forum, just delete it after.

And if you run into any issues, you can feel free to ask on this support forum and there’ll be lots of exisiting info to help you here too.

If you find these steps manageable, then you should be able to self-host. If it’s too difficult or time-consuming, then you’re probably better off with managed hosting.

Sometimes it’s easy to overthink too much, when just trying it out will help answer a lot of your questions instead too!

I was encouraged to try it out after seeing this official Discourse blog post:

I don’t have exact numbers, but a large portion of Discourse instances is run as managed hosting, by Discourse.org, Communiteq.com, and maybe some other smaller players.

It is true that a managed hosting provider will normally not give customers console access. A provider cannot reasonably take responsibility for the security, stability, and maintenance of a system it does not fully control.

However, that does not mean customers do not own their data. Of course they do.

Some of our customers occasionally open a support ticket asking us to run a rails c script. We review the script for security and sanity, run it, and provide the output when requested. The turnaround time may be slightly longer than running it yourself, but in return you get an additional sanity check at no extra cost.

With managed hosting, you don’t need to worry about performing updates, because that is handled for you. Also, urgent security updates can usually be deployed quickly, without each individual administrator first having to notice the issue and take action.

That was very helpful, thank you @Andrew_Rowe @Lilly @pfaffman @NateDhaliwal @RGJ @traceymoko for clarifying the follow up doubts. Things are much clearer now. All considered, I’m now strongly considering self hosting with a vps, because of how it’s almost the only way I can get some basic functionalities specific to my goal

For further context, webdev is no way my area of work; my main commitment is for a small charity I run, which needs as much of my focus, time, effort & cents. Those little I have, hence me looking to maximize for most utility & minimize getting funnelled away for less utillity. So I am concerned this could create a whole other thing taking away much commitment, that I should not be spending time on

Between building websites it has already taken too much away from that. So I’m concerned about creating this yet another thing. I have a strong stem background & I can learn & pull things off, that’s not the main uncertainty. & even 1 time-costly build is fine for me as long as it then pretty much runs on its own. But if it also needs constant maintenance, how much time/time this path takes is the main thing I’m still clueless about. Maybe things take off in the near future where I have enough resources to outsource this, & I’ll remember yall here. But currently this low time AND low resource dilemma is the state I’m stuck in. I’m giving this a go on my own, but very hesitant

I believe you can get a discount if you are a non-profit. Here is a quote from the pricing page:

For our 50% non-profit discount, we require a formal document from your government with your non-profit status and exemption from federal taxes (e.g. a 501c3 letter).

check it out

as you have likely seen here, most regulars are very helpful. once you are starting your own self-hosted project, you can ask questions as you go and many of us will help you along with tips. a lot of folks have started from a similar spot as you and now admin and host busy forums. my path was slightly different in that i have been working in IT most of my life and i inherited an admin role for a busy forum that was hosted by Discourse years ago. i learned a lot by communicating with the Team via their support channels for hosted sites, and by reading and posting here on here on Meta. eventually i learned enough to have the privilege and pleasure to work for them and learn even more. even though i have since moved on from the company, i still do Discourse related development and support projects, and i now self-host that particular forum i started as an admin on - it is thriving and as busy as it ever was, and with more customizations.

honestly, the most time consuming part is the initial building and getting the forum configured to how you want. once you have a forum up and running and setup, the maintenance time isn’t that high and simply requires doing periodic updates. backups can be automated, and with certain configurations, downtime during updates and rebuilds can be kept to a minimum. using CDN and a dual container (one for web app and another for the database), my actual rebuild downtime is 30 seconds and i have bash script that runs the whole update with splash screen that informs users that the site will automatically reload when it is ready. these days, that forum takes no more than 15 minutes of my time every 2 weeks or so, just keeping the OS, docker and Discourse up-to-date. i just ssh into the server, do any system updates, then run the script. i know it can be automated even more, but i still like a bit of hands-on manual work.