I made it a wiki. You are welcome to update the OP to better detail everything. Since you have expertise here, I do hope that you’ll watch this topic so that you can help others who want to follow in your path.
The fact remains that no one who is a regular contributor here uses Cloud Panel, and the person who created the guide isn’t participating in supporting it. Supporting just the standard install, where there is very little that can go wrong, is fairly time consuming.
Assuming no one objects, I’ll incorporate my suggestions when I have time to make sure they flow properly (and work). I know at least running discourse-setup with --skip-connection-test will be required.
I think this is probably unfair, they have been updating the guide based on feedback and probably other people have just been getting to questions first.
That’s probably true. It’s been just a day or so this this piece started up. This might be a case where it’d be better for me to just say nothing and let others work it out.
However, in the end, following more carefully what is reported here and doing some searches on other forums, I managed to install everything. Thanks everyone for the help.
At the time I didn’t understand that it was also necessary to change other points of the app.yml file such as mail server and other things, since the guide here was made for experts, only the most obvious things were indicated for experts and not also things for inexperienced people like me. Then I found difficulty with the mail configuration as my provider has port 587 in TLS.
@Canapin you can find instructions for using the built-in CloudPanel SSL here…
Using Cloudflare is just my preference both for nameservers and SSL.
A lot of people use Cloudflare. Since I use Cloudflare in my process, that is what I provided in my tutorial for others who use (or would like to use) Cloudflare for these purposes.
You don’t need to use Cloudflare. You can use any nameservers that you would normally use to point your domain to your CloudPanel IP address. I just normally use Cloudflare.
Also you can use any SSL vendor instead of, or in addition to Cloudflare.
If you want you can add instructions for other Nameservers and SSL providers.
Besides following your guide, I let all other Cloudflare settings by default and only modified those you mention in the guide.
I don’t know anything about advanced installs and the error might not be related to your guide, unless there’s a missing bit somewhere – but another user had it working, so I guess it’s more likely on my end.
Yes, my container is running and the issue could be many things… But I don’t want to add noise to your topic, especially as someone unfamiliar with unsupported installs
I use fastpanel, where one setting is enough to work with discourse. Fastpanel has more features (posgres, automatic backups to the cloud, apache/ngnix, etc.) for installing more complex applications than wordpress. Discourse works great in fastpanel!
Hi, thank you for posting such great tutorial that can potentially save a lot of cost for my project once I learned how to set it up correctly, once and for all. Right now the economy is looking not so good and costs are being cut everywhere.
Looking at the tutorial there were not so many steps, I figured I would give it a try so I believe I’m close
I failed at the bootstrap step
Status: Downloaded newer image for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T01:45:55.552861 #1] INFO -- : Reading from stdin
I, [2025-02-05T01:45:55.600413 #1] INFO -- : File > /etc/runit/1.d/remove-old-socket chmod: +x chown:
I, [2025-02-05T01:45:55.612817 #1] INFO -- : File > /etc/runit/3.d/remove-old-socket chmod: +x chown:
FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
70d853c5066a283a84838676ef16a243cc6f418cee8802eb34b1edfc598a7bd9
root@Vultr2409:/var/discourse#
I tried to do ask Deepseek to solve this problem, and it suggests me to
Manually create /etc/nginx/conf.d/discourse.conf with the following content:
server {
listen 80;
server_name <mydomain.com (replaced by my domain)>;
location / {
proxy_pass http://unix:/shared/nginx.http.sock;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
root@Vultr2409:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T02:21:24.487508 #1] INFO -- : Reading from stdin
I, [2025-02-05T02:21:24.505619 #1] INFO -- : File > /etc/runit/1.d/remove-old-socket chmod: +x chown:
I, [2025-02-05T02:21:24.510777 #1] INFO -- : File > /etc/runit/3.d/remove-old-socket chmod: +x chown:
FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
1c7c2a9d055439d23b9300f77e4bc6e912d4db5cf372ea1261e7b8bccb1be3ee
I tried some gpt suggested solutions including commenting out #- “templates/web.template.yml” but it does not work. Any help would be greatly appreciated!
Can you tell me where the latest nginx configs are? Right now, my discourse is connected to the fastpanel with the default configuration. Everything is working, but I would like a more precise setting for optimal operation of the discourse.