# Existing server installation instructions

**URL:** <https://meta.discourse.org/t/existing-server-installation-instructions/135530>\
**Category:** Self-hosting\
**Created:** [December 10, 2019, 8:08am UTC](https://meta.discourse.org/t/existing-server-installation-instructions/135530 "2019-12-10T08:08:40Z")\
**Posts on this page:** 1\
**Showing post:** 3

<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:** [December 13, 2019, 4:13am UTC](https://meta.discourse.org/t/existing-server-installation-instructions/135530/3 "2019-12-13T04:13:47Z")

</div>

> [@khionu](#):
>
> The last thing I have yet to figure out is the final structure of `app.yml` . I have found fragments only, and not enough to conclude that what I’ve compiled is everything.

It’s right here: [discourse\_docker/samples/standalone.yml at master · discourse/discourse\_docker · GitHub](https://github.com/discourse/discourse_docker/blob/master/samples/standalone.yml)

> [@khionu](#):
>
> where people have wanted to install Discourse on an existing server. I’ve attempted to pull the pieces together, but this has been a headache going between 5 different sources between this instance and the GitHub. This has been a ride, and I would highly recommend adding more to your scripts to support this use case.

Using the sample file I provided above, comment out the lines about exposed ports (since this server is shared they will already be busy). After that add this line to the template list on the top:

```
- "templates/web.socketed.template.yml"

```

Now, after a rebuild Discourse will be listening only on a Unix socket under the shared folder. Point your reverse proxy to that.

---

_[View the full topic](https://meta.discourse.org/t/existing-server-installation-instructions/135530)._
