# Warum kann Discourse nur über SSH installiert werden?

**URL:** <https://meta.discourse.org/t/why-discourse-can-be-only-installed-from-ssh/93350>\
**Category:** Self-hosting\
**Created:** [28. Juli 2018 um 09:35 UTC](https://meta.discourse.org/t/why-discourse-can-be-only-installed-from-ssh/93350 "2018-07-28T09:35:37Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [28. Juli 2018 um 11:38 UTC](https://meta.discourse.org/t/why-discourse-can-be-only-installed-from-ssh/93350/2 "2018-07-28T11:38:32Z")

</div>

I’m not part of the core team, but your question seems to be a general one about ‘why this way of doing things’.

I think the short, simple answer is it is based on Linux and the hugely successful and well proven open-source package management ecosystem.

Discourse is a sum of its parts. It’s not one monolithic component written by one team, but a (albeit hugely significant) layer on top of several pieces of jigsaw each built by several different teams around the globe. Without that arrangement and economies of scale, it would be impossible for such software to exist, no doubt.

The package managers are a way of managing distributed contribution, dependency, complexity, configuration, security and change. It would not be sensible imho to attempt to configure a single zip file with all the dependencies as it would instantly date and the complexity involved in maintaining that and all its dependencies post install without a package manager would be, frankly, ridiculous.

If you decide to use a package manager to manage all that, then why wouldn’t you script installation of all the desired packages and dependencies? The computer is connected to the internet after all, and freshly baked versions of all you need are just sitting there, waiting to be downloaded. Then, putting it very simply, to refresh the install with the latest versions of everything, you need only rerun a maintenance, ‘upgrade’ script. (in reality, you may choose to stick to particular versions of a dependency in order to limit the disruption that might mean to other layers of the software). You also need to have scripts to be run to set up the database based on your configuration, so why not do that in your setup scripts too?

The package managers ensure you get the latest or desired version of each dependency from the trusted location. You know that all the developers involved in those packages contribute bug fixes and changes to that trusted location and organise them in discrete ‘versions’. All this cuts down the number of issues you will have in maintaining your install.

On top of this open-source software by its very definition involves publicly maintaining your source code in a ‘single’, highly visible, location for all to see in part to encourage trust (you can see everything that’s going on) and foster a community of contribution.

As Discourse is server software (its a website, afterall) you need a simple and secure way of connecting to your remote computer so you can configure it. Ssh is the most popular way of securely connecting to your cloud server. Using package management helps here too, because a very simple command can affect a significant change on the remote server without having to type lots of commands or manually upload anything. It’s extremely bandwidth efficient to do this too, so you can maintain you server reliably from the very slowest of connections as you are not remotely viewing a complex GUI of any kind.

---

_[View the full topic](https://meta.discourse.org/t/why-discourse-can-be-only-installed-from-ssh/93350)._
