Skip to content

Systemanforderungen

Um eine Brezel-Instanz sicher und ordnungsgemäß betreiben zu können, müssen Sie einen Server bereitstellen, der die folgenden grundlegenden Anforderungen erfüllt.

Die Einrichtung der Anwendung, wie z.B. ein Webserver, eine Datenbank oder andere Software, wird hier nicht behandelt und muss von Ihnen nicht bereitgestellt werden. Alle benötigten Abhängigkeiten werden von uns während des Einrichtungsprozesses ihrer Brezel-Instanz installiert.

Eine einfache Brezel-Instanz erfordert die folgenden minimalen Systemanforderungen:

  • Mindestens 4 x86-CPU-Kerne
  • Mindestens 8 GB RAM
  • Mindestens 50 GB Speicherplatz

:::note Höhere Spezifikationen (z.B. 16 GB oder mehr RAM) werden für Instanzen empfohlen, die von vielen Personen gleichzeitig genutzt werden sollen oder komplexere Prozesse abbilden.

Zum Beispiel, wenn Ihre Brezel viele Dateien verarbeiten wird, wird mehr Speicherplatz benötigt. Für viele Workflows, die oft und möglicherweise länger laufen, sind mehr CPU-Kerne von Vorteil. Und je mehr Benutzer Sie erwarten, die das System gleichzeitig nutzen, oder je komplexer die Workflows in Ihrer Brezel sind, desto mehr RAM wird benötigt. :::

Jede aktuelle (vorzugsweise LTS) Server-Linux-Distribution sollte funktionieren.

Wir betreiben oft “Ubuntu Server”, aber “Debian Server” oder andere sollten ebenfalls funktionieren.

:::note[Wir bevorzugen eine möglichst leere Installation ohne zusätzliche Software wie “Plesk”!] Wir werden alle erforderlichen Anwendungen selbst installieren.

Zusätzliche Software kann den Prozess verkomplizieren und während der Einrichtung, Wartung oder des Betriebs Probleme verursachen! :::

Serverzugriff / Web- & Internetanforderungen

Section titled “Serverzugriff / Web- & Internetanforderungen”
  • SSH-Zugriff auf den Server mit sudo-Rechten
    • Wir benötigen sudo-Rechte, um die notwendigen Softwarepakete zu installieren, den Server richtig zu konfigurieren und die Brezel-Instanz ordnungsgemäß einzurichten.
      • Z.B. da einige Komponenten von Brezel containerisiert sind, wird eine Container-Laufzeit wie Docker benötigt. Diese werden wir ebenfalls installieren und konfigurieren wofür sudo-Rechte benötigt werden. :::note Eine Einrichtung in einer Umgebung ohne sudo-Rechte ist mit einigen Einschränkungen und Mehraufwand möglich. Bitte kontaktieren Sie uns, um Ihre Optionen zu besprechen. :::
    • Während des Einrichtungsprozesses werden wir einen neuen Benutzer erstellen und den passwortbasierten SSH-Zugriff zugunsten von Zertifikaten aus Sicherheitsgründen deaktivieren. Der anfängliche Zugang kann mit einem Passwort erteilt werden. :::note
      Dies ist verhandelbar und wenn andere Dinge auf ihrem Server laufen, werden wir Ihre SSH-Sicherheitseinstellungen nicht ändern. Unser Benutzer wird dennoch zertifikatsbasierte SSH-Authentifizierung für CI/CD und Wartungszugriff verwenden. :::
  • Der Server muss in der Lage sein, mit dem offenen Internet frei zu kommunizieren und darauf zuzugreifen.
    • Dies ist erforderlich um benötigte Pakete zu installieren und auf externe Dienste wie LetsEncrypt zuzugreifen.
    • Insbesondere dürfen keine zusätzlichen Firewalls vorhanden sein, die Standard-HTTP-Header wie UPGRADE entfernen oder ihre eigene Zertifikatskette einfügen.
  • Eine öffentliche (erreichbare), statische IP-Adresse
    • Diese muss ohne VPN aus dem Internet erreichbar sein. :::note Dies ist erforderlich und nicht verhandelbar! Es wird benötigt, um einen CI/CD-Prozess einzurichten, um Ihre Brezel ordnungsgemäß zu warten und zu aktualisieren.

      Und da Brezel eine webbasierte Anwendung ist, gehen die meisten Vorteile wie zum Beispiel der einfache Zugriff von jedem Gerät aus von überall (auch unterwegs) verloren, falls ein VPN für den Zugriff vorausgesetzt wird. Wenn Ihr Anwendungsfall es dennoch erfordert, den Zugriff auf Ihre Brezel-Instanz nur “intern” zu ermöglichen, kontaktieren Sie uns bitte, um Ihre Optionen vor der Entscheidung für einen Server / eine Infrastruktur zu besprechen! Das Wichtige ist, dass wir immer in der Lage sein müssen, den Server aus dem Internet über SSH zu erreichen. :::

    • Portweiterleitung und uneingeschränkter Datenverkehr auf den folgenden Ports auf dieser IP:

      • 22 (SSH)
      • 80 (HTTP)
      • 443 (HTTPS)
  • DNS-Konfiguration für 3 verschiedene Domains (oder Subdomains) , die auf die IP-Adresse des Servers zeigen
    • Eine für den Zugriff auf die Brezel-Instanz während des normalen Gebrauchs (z.B. brezel.example.com)
    • Eine für die API (z.B. api.brezel.example.com oder brezel-api.example.com)
    • Eine für einen Websocket-Server (z.B. ws.brezel.example.com oder brezel-ws.example.com)

Wir empfehlen die Verwendung eines virtuellen Servers von einem Anbieter wie Hetzner Cloud oder netcup.

Einige Beispiele für Server, die die minimalen Systemanforderungen erfüllen, sind:

  • [Hetzner Cloud] CX32 (4 x86 vCPUs, 8 GB RAM, 80 GB Speicherplatz)
  • [Hetzner Cloud] CPX31 (4 x86 vCPUs, 8 GB RAM, 80 GB Speicherplatz)
  • [Hetzner Cloud] CAX31 (4 x86 vCPUs, 8 GB RAM, 160 GB Speicherplatz)
  • [netcup] VPS 1000 G11 (4 x86 vCPUs, 8 GB RAM, 256 GB Speicherplatz)

Diese bieten alle die notwendigen Ressourcen, um eine “normale” Brezel-Instanz zu betreiben und verzichten auf unnötige Software, wie “Plesk” oder einen VPN, die die Einrichtung und den Betrieb beeinträchtigen könnte.

:::note Die oben genannten Server sind Beispiele und möglicherweise in Zukunft nicht verfügbar. Bitte überprüfen Sie die aktuellen Angebote des Anbieters. :::