heyer.systems

Modules 11

Building blocks for every app – choose them when you create a guest or add them later, in containers and VMs alike.

Choose when you create

Tick modules in the dialog (“advanced”) or in the generator on every app page.

Add any time

update --add-modules <name> in the guest – containers and VMs alike.

Kept up to date

Active modules run with every update. Removing one keeps its data.

Automatic security updates

unattended-upgrades

Installs Debian security updates automatically every day (without a reboot)

LXCVM

Automatic update (nightly)

auto-update

Runs the full update every night at 02:00 – Debian packages, app, modules and iac, without a reboot. Log: journalctl -u iac-auto-update

LXCVM preselected

Backup (restic)

backup

Daily backup with restic to SFTP, S3, a REST server or a local path – /etc, /root, /var/lib, the app's data and database dumps. Target: backup_repository in /etc/iac/settings.env

LXCVM

CrowdSec

crowdsec

CrowdSec from Debian: detects attacks in the logs (SSH from the journal, nginx, Apache) and blocks the addresses with nftables (own tables). Shares signals with the CrowdSec community and uses its blocklist; private networks are never blocked. Manage with cscli

LXCVM

Desktop (XFCE, RDP)

desktop

XFCE desktop with Firefox via RDP (port 3389, private networks only). Log in as root, password: grep root_password /etc/iac/settings.env

VM

Elasticsearch

elasticsearch

Elasticsearch 9 from Elastic's APT repository (key pinned in iac-core), on localhost:9200 only, without login, 1 GiB heap

LXCVM required by 1

fail2ban

fail2ban

Blocks IP addresses after repeated failed SSH logins (nftables); own jails for app logins possible

LXCVM

MariaDB

mariadb

MariaDB server from Debian, reachable on localhost only

LXCVM required by 1

PostgreSQL

postgresql

PostgreSQL server from Debian, reachable on localhost only

LXCVM required by 2

Prometheus node exporter

node-exporter

System metrics on port 9100 (private networks only)

LXCVM

Valkey (Redis)

valkey

Valkey server from Debian (Redis protocol), on localhost:6379 only

LXCVM required by 1

How modules work in detail: Docs → Modules · Build your own: App reference