Prerequisites

Required software

Brezel requires:

  • PHP 7.4 (with PHP-FPM)
  • MySQL 8+ or MariaDB 10.5.2+
  • a web server (nginx/Apache)

Brezel SPA requires Node 18+ to build.

Additional software

These are tools that are needed to use the full functionality of brezel.

Ghostscript

This tool is used to merge PDF files. It needs to be installed in your path to be accessible by brezel-api.

Imagick

This tool creates thumbnails for images and pdf files.

The process to install it will differ from platform to platform.

If possible you can install it directly as a PECL extension.

Windows
  1. Go to pecl.php.net/package/imagick .
  2. Choose the newest version and click on “DLL”.
  3. Download the version appropriate for your System. (Mostly Php 7.4, non-thread-safe, x64)
  4. Extract the file somewhere safe and copy php_imagick.dll into your php extension folder. (<path/to/php/installation>/ext)
  5. Add the path where you extracted the extension into to your PATH. (e.g. C:/php_imagick-3.7.0)
  6. Add extension=imagick to the extension section of your php.ini

macOS

nginx

Install Valet: https://laravel.com/docs/8.x/valet#installation

Make sure to install php@7.4 instead of php.

Linux

Install PHP 7.4, MySQL and Node.js:

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4
sudo apt install php7.4-common php7.4-mbstring php7.4-xml php7.4-zip php7.4-curl php7.4-bcmath php7.4-mysql php7.4-gd php7.4-cli php7.4-imap php7.1-mcrypt
sudo apt install mysql-server
sudo apt-get install -y nodejs
sudo ln -s `which nodejs` /usr/bin/node
sudo apt install npm
nginx

Install valet-linux (if a system does not answer after that, try to reinstall valet):

sudo apt-get install network-manager libnss3-tools jq xsel
composer global require cpriego/valet-linux
sudo service apache2 stop
valet install

Windows

  1. Have git installed
  2. Install php somewhere (e.g. C:/php).
  3. Install a up-to-date Node.js version. (See requirements at the top)
  4. Install a database. (See requirements at the top)

Make sure that you have Powershell 7 installed and available with the pwsh command. You also need to have the Windows Terminal installed, but this should come standard with current Windows versions.

You can now run <Path to your Brezel Project>\bin\serve_on_windows.ps1.

Package registries

Composer

This section ensures that you are able to retrieve the brezel/api composer package.

First, generate a GitLab personal access token with the scope set to, at minimum, api. Then, add your access token to your global composer config as follows:

composer config gitlab-token.gitlab.kiwis-and-brownies.de <personal_access_token>

Refer to the GitLab Guide for details.

NPM

This section ensures that you are able to retrieve the @kibro/brezel-spa, @kibro/brezel-recipes, @kibro/brezel-brotcast, and other @kibro npm packages.

First, make sure you are authenticated to the package registry. Try the instance-level endpoint, as described here .

Then, add the @kibro registry:

npm config set @kibro:registry https://gitlab.kiwis-and-brownies.de/api/v4/packages/npm/

The trailing slash is important, as package managers like pnpm choke on it otherwise.