Since Discourse now has support for running on a Raspberry Pi, running a small instance in your home lab will become a common use case. However, many residential ISPs block incoming traffic to the ports 80/443 that Discourse need.
First, follow the following guide:
The only change you need is changing the URL from
url: http://localhost:8000 to
url: http://localhost:80. Leave the tunnel running the background already.
You must disable Cloudfalre Rocket Loader for Discourse to work properly.
Follow How to install Discourse in production, but hit CTRL+C after it creates the the app.yml file gives you a 5 seconds count-down.
Now edit the file first few lines so it looks like this:
templates: - "templates/postgres.template.yml" - "templates/redis.template.yml" - "templates/web.template.yml" - "templates/cloudflare.template.yml" # - "templates/web.ratelimited.template.yml" ## Uncomment these two lines if you wish to add Lets Encrypt (https) # - "templates/web.ssl.template.yml" # - "templates/web.letsencrypt.ssl.template.yml"
and add the following line under the
And then run
./launcher rebuild app.
In a few minutes your new Discourse instance will be available on the domain you used in the tunnel/discourse configuration .