# Tips for setting up a small private Discourse behind a firewall?

**URL:** https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607
**Category:** Self-hosting
**Created:** [June 11, 2024, 4:47pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607 "2024-06-11T16:47:08Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![piffy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/piffy/32/254198_2.png) [@piffy](https://meta.discourse.org/u/piffy)
#### Post date: [June 11, 2024, 4:47pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/1 "2024-06-11T16:47:08Z")

</div>

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](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md)

> 🔔 Discourse will not work from an IP address, you must own a domain name such as [example.com](http://example.com) to proceed.

Has anyone set up a firewalled discourse like this? Any tips?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [June 12, 2024, 1:53pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/2 "2024-06-12T13:53:28Z")

</div>

You’d use some company email server.

Put discourse behind a reverse proxy that has a valid cert.

---

<div class="post-metadata">

### Author: ![piffy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/piffy/32/254198_2.png) [@piffy](https://meta.discourse.org/u/piffy)
#### Post date: [June 12, 2024, 2:27pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/3 "2024-06-12T14:27:03Z")

</div>

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.

Overall is this generally the right idea?

---

<div class="post-metadata">

### Author: ![Isambard](https://avatars.discourse-cdn.com/v4/letter/i/858c86/32.png) [@Isambard](https://meta.discourse.org/u/Isambard)
#### Post date: [June 12, 2024, 3:43pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/4 "2024-06-12T15:43:31Z")

</div>

Yes, it is possible. You need to decide:

1. Whether you will use internal mail server or allow outgoing access to mailgun or similar (will expose data via email)
2. If you have control of internal DNS and want to give a nice domain name on internal network IP.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [June 12, 2024, 3:58pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/5 "2024-06-12T15:58:49Z")

</div>

> [@piffy](#):
>
> Has anyone set up a firewalled discourse like this? Any tips?

Use the [standard install](https://meta.discourse.org/t/142537?silent=true) 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.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [June 12, 2024, 5:29pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/6 "2024-06-12T17:29:51Z")

</div>

> [@piffy](#):
>
> I’m not a network expert

Setting up anything behind a firewall is the kind of thing that requires the skills of a network expert.

If you don’t know how to set up a reverse proxy and/or do something like

> [@Falco](#):
>
> rovide your own certificate from your internal PKI

You’ll need to find someone who configured the firewall and get them to help. If you don’t have someone like that at hand,

> [@piffy](#):
>
> The cert is something I can request and manage with certbot

Not unless you know how to get certbot to work behind a firewall. But if you do, then you’re in good shape.

> [@piffy](#):
>
> I’ll probably have to contact the IT department to see if that is possible.

Yes. That’s what you need to do.

---

<div class="post-metadata">

### Author: ![piffy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/piffy/32/254198_2.png) [@piffy](https://meta.discourse.org/u/piffy)
#### Post date: [June 12, 2024, 5:31pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/7 "2024-06-12T17:31:53Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [July 12, 2024, 5:32pm UTC](https://meta.discourse.org/t/tips-for-setting-up-a-small-private-discourse-behind-a-firewall/311607/8 "2024-07-12T17:32:16Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
