Users discuss setting up a private Discourse instance behind a corporate firewall for internal use. piffy seeks guidance on running Discourse on an internal server while maintaining privacy, noting the requirement for a domain name and email service. pfaffman suggests using an internal email server and placing Discourse behind a reverse proxy with a valid certificate. piffy clarifies their understanding, asking whether Nginx or similar can proxy requests via an internal domain, whether the discourse-setup script still works, and if Certbot can manage certificates internally — possibly via Microsoft Outlook’s email. Isambard confirms it’s possible, stressing the need to choose between internal mail or external services like Mailgun, and whether internal DNS can assign a friendly domain. Falco advises using the standard install script, stopping after app.yml, replacing Let’s Encrypt with an internal PKI certificate. pfaffman cautions that firewall setups require networking expertise, especially for reverse proxies and internal PKI, and recommends involving IT — especially since certbot may not work behind firewalls without configuration. piffy acknowledges they’re not a network expert but are eager to learn, and emphasizes needing to identify IT-dependent steps in advance to know what to request. Overall, the consensus is that while technically feasible, success depends on IT collaboration for DNS, certificates, and email setup.
The Discourse installation on DigitalOcean or similar servers is pretty straightfoward. But I’m considering setting up one for a small group where I work.
It might contain private or sensitive information so I would ideally be able to set it up on a server internal to the company. But there are complications such as getting an email service and something like below mentioned on the install page
Discourse will not work from an IP address, you must own a domain name such as example.com to proceed.
Has anyone set up a firewalled discourse like this? Any tips?
Thank you for the response. I’m not a network expert so while I have some idea of what you’re saying the details are still unclear to me.
The idea would be to run the Discourse docker on a server behind the firewall. Then I’d need a public-facing domain that redirects incoming browser requests to the server. This would seting up Nginx or something similar to be in the middle there? And I guess that should be some kind of company internal [sub]domain rather than a service like GoDaddy if I want to maximize privacy.
Can I still use the discourse-setup script under these conditions?
The cert is something I can request and manage with certbot and it goes into the Nginx setup?
Then the email server would be… through Microsoft because we use Outlook? I’ll probably have to contact the IT department to see if that is possible.
Use the standard install script, stop it after the app.yml is created, remove the Let’s Encrypt template, provide your own certificate from your internal PKI and it will work just fine.
Listen, I may not be an expert in networking but I am an expert in learning new skills
That said, I do need to get the IT department involved at some point regardless because certain steps are beyond my control. But I need to know what those steps are in advance so I know what to ask for, hence the purpose of making this topic and trying to understand the details.