Skip to content

System Requirements

To be able to easily securely and properly operate a Brezel instance, you need to provide a server that meets the following basic requirements.

Application setup, such as the web server, database, and other software is not covered here and not required for you to set up or provide. Any dependencies we need will be installed by us during the setup process.

A simple Brezel instance requires the following minimum system specifications:

  • At least 6 x86 CPU cores
  • At least 16 GB of RAM
  • At least 100 GB of storage

:::note Higher specs (e.g. 24 GB or more RAM and more CPU Cores) are recommended for instances that are intended to be used by many people at once or utilize more complex processes.

For example, if your brezel will handle lots of files, more storage is needed. For many workflows that run often and possibly longer, more CPU cores are beneficial. And the more users you expect to use the system at once or the more complex the workflows in your brezel are, the more RAM is needed. :::

Any recent (preferably LTS) server Linux distribution should work.

We often operate “Ubuntu Server”, but “Debian Server” or others should work as well.

:::note[We prefer a blank installation without any additional software like “Plesk”!] We will install all required software ourselves.

Any additional software may complicate the process and could cause issues during setup, maintenance or operation! :::

Server Access / Web & Internet requirements

Section titled “Server Access / Web & Internet requirements”
  • SSH access to the server with sudo permissions
    • We need sudo permissions to install the necessary software packages, properly configure the server, and set up the Brezel instance correctly.
      • For example, since some components of Brezel are containerized, a container runtime like Docker is required. We will also install and configure this, which requires sudo permissions. :::note Setting up Brezel in an environment without sudo permissions is possible although with some limitations and additional effort. Please contact us to discuss your options. :::
    • During the setup process we will create a new user and disable password-based SSH access in favor of certificates for security reasons. The initial access may be granted with a password. :::note
      This is negotiable and if your server has other things running on it, we will not tinker with your SSH security settings. Our user will still be using certificate based SSH authentication for CI/CD and maintenance access. :::
  • The server needs to be able to talk to and access the open internet freely.
    • This is required to install required packages and to access external services like LetsEncrypt.
    • Especially additional Firewalls that strip standard HTTP headers like UPGRADE or inject their own certificate chain must not be in place.
  • A public (reachable), static IP address
    • This needs to be accessible from the internet without needing a VPN. :::note This is _strongly recommended, as it is needed for us to set up a CI/CD process to be able to properly maintain and update your Brezel.

      And as Brezel is a Web-based application most benefits like easy access from any device from anywhere, even if “in the field” would be lost if requiring a VPN.

      If your use-case requires restricting access to your Brezel instance to be only possible “in-house” or is hosted “on-premise” with your own server, please contact us to discuss your options before commiting to a server / infrastructure choice! The important bit is, that we need to always be able to reach the server from the internet via SSH. CI/CD Access for updates can be setup using either an OpenVPN or WireGuard tunnel, but DNS setup is more complex this way and is not covered by our standard setup process. :::

    • Port forwarding and unrestricted traffic on the following ports on that IP:

      • 22 (SSH)
      • 80 (HTTP) Just used to issued SSL Certificates
      • 443 (HTTPS)
  • DNS configuration for 3 different Domains (or subdomains) pointing to the server’s IP address
    • One to access the Brezel instance during normal use (e.g. brezel.example.com)
    • One for the API (e.g. api.brezel.example.com or brezel-api.example.com)
    • One for a websocket server (e.g. ws.brezel.example.com or brezel-ws.example.com)

We recommend using a virtual server from a provider like Hetzner Cloud, Ionos or netcup.