Installation Guide

MultiFlexi is designed for easy installation on Debian-based systems. It supports multiple database backends (MySQL, PostgreSQL, SQLite) to fit various deployment needs.

Current Version: 1.29.0

Start monitoring your infrastructure immediately with the new MultiFlexi Probe included in this release.

Supported Platforms

Debian 13 (Trixie) is the recommended platform for new installs. MultiFlexi packages are also published for Ubuntu 24.04 LTS, Ubuntu 22.04 LTS, and Debian 12 (Bookworm, build-maintained but no longer promoted for new installs). See Platform Support Matrix for the full support matrix, including end-of-coverage dates and why Debian 11 and 14 are not supported.

Prerequisites

Before installing, ensure your system meets the following requirements:

  • Operating System: A supported Debian or Ubuntu release.

  • Memory: Minimum 2GB RAM (recommended for smooth database migrations).

  • Database: MySQL/MariaDB, PostgreSQL, or SQLite.

  • Web Server: Apache2 (recommended), Nginx, or compatible web server.

  • PHP: PHP 8.1 or newer with extensions: intl, mbstring, xml, curl, mysql/pgsql/sqlite3.

Installation Steps

Follow these steps to install MultiFlexi on your server.

Step 1: Configure Repository

First, add the MultiFlexi repository to your system’s package sources.

# Update package lists
sudo apt update

# Install dependencies for repository management
sudo apt install -y lsb-release apt-transport-https bzip2 ca-certificates curl

# Add GPG key
sudo curl -fsSL https://repo.multiflexi.eu/KEY.gpg -o /usr/share/keyrings/multiflexi-archive-keyring.gpg

# Add repository source
echo "deb [signed-by=/usr/share/keyrings/multiflexi-archive-keyring.gpg] https://repo.multiflexi.eu/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/multiflexi.list

# Refresh package lists
sudo apt update

Step 2: Install MultiFlexi

Choose the package corresponding to your preferred database backend.

Option A: MySQL / MariaDB (Recommended for Production)

sudo apt install multiflexi-mysql

Option B: SQLite (Testing / Development)

sudo apt install multiflexi-sqlite

Note

PostgreSQL support is currently experimental (multiflexi-postgresql).

Step 3: Database Configuration

During installation, the dbconfig-common tools will prompt you to configure the database.

  1. Configure database for multiflexi? -> Select Yes.

  2. Password for the new user: You can leave this blank to let the system generate a secure random password.

Tip

Configuration settings are automatically saved to /etc/multiflexi/multiflexi.env.

Note

After the database backend package (multiflexi-sqlite, multiflexi-mysql, or multiflexi-pgsql) is configured, its post-install script automatically creates /etc/multiflexi/multiflexi.env from database.env if that file does not yet exist. This applies to all database backends and ensures multiflexi-cli can locate its configuration immediately without any manual copy step.

Step 3b: Credential Encryption Key

multiflexi-common (pulled in as a dependency of multiflexi-mysql / multiflexi-sqlite) asks, via debconf, how to set up the master key used to encrypt stored credential secrets (passwords, API keys, tokens) at rest:

Choice

Effect

Generate a random key automatically (default)

A secure key is generated with openssl rand and written to ENCRYPTION_MASTER_KEY in /etc/multiflexi/multiflexi.env. Recommended for production.

Enter my own key

Prompts (password-style input, not echoed) for a key to use instead — for example to match an existing deployment or a key managed externally. Leaving this blank falls back to generating one.

Do not encrypt credentials (development only)

Sets DATA_ENCRYPTION_ENABLED=false. Credential secrets are then stored as plaintext in the database. Only appropriate for local development — never for a deployment holding real credentials.

Warning

Back up ENCRYPTION_MASTER_KEY somewhere safe. If it is ever lost, credentials already encrypted with it become permanently unrecoverable. See Backup and Recovery.

This prompt only runs once — on upgrade, or on any subsequent dpkg-reconfigure multiflexi-common, it is skipped automatically if either ENCRYPTION_MASTER_KEY or DATA_ENCRYPTION_ENABLED=false is already present in /etc/multiflexi/multiflexi.env, so an existing choice (and any already-encrypted data) is never overwritten. To change your choice later, run:

sudo dpkg-reconfigure multiflexi-common

The web interface itself does not require ENCRYPTION_MASTER_KEY to be set — it works whether encryption is configured or not. See Configuration for the full list of encryption-related environment variables and Credential Management for how redaction and encryption interact.

Step 4: Install Applications

MultiFlexi is a modular platform. Core functionality is enhanced by installing applications.

To list available MultiFlexi applications:

apt search multiflexi

To install the full suite of standard applications:

sudo apt install multiflexi-all

Post-Installation Verification

After installation, verify that MultiFlexi is running correctly.

  1. Web Interface: Open your browser and navigate to http://<your-server-ip>/multiflexi. You should see the login screen.

  2. Service Status: Check system logs to ensure no errors occurred during startup.

    journalctl -u apache2  # Or your web server service
    

Next Steps