# Systemanforderungen

Für eine kleine bis mittlere Installation empfehlen wir die folgenden Ressourcen.

## Hardware

| Ressource | Minimum | Empfohlen |
|-----------|---------|-----------|
| CPU       | 2 vCPU  | 4 vCPU    |
| RAM       | 4 GB    | 8 GB      |
| Storage   | 20 GB SSD | 40 GB SSD |

## Software

- **Docker** 24+ und **Docker Compose** v2 (für die Container-Installation)
- **PostgreSQL** 15+ mit der `vector`-Extension, **pgvector 0.7+** (empfohlen 0.8+).
  0.7 ist seit dieser Version die harte Untergrenze, auch wenn du 3072-dimensionale
  Embeddings nie nutzt: Das Schema enthält zwei Suchindexe auf dem Typ `halfvec`, den
  es erst ab 0.7 gibt — sowohl `db:migrate` als auch `db:schema:load` brechen auf
  älteren Extensions ab. Vor dem Upgrade einer Bestandsinstallation also
  `SELECT extversion FROM pg_extension WHERE extname='vector';` prüfen und
  gegebenenfalls `ALTER EXTENSION vector UPDATE;` fahren.
- **libvips 8.13+** (empfohlen 8.15+). Rails ruft beim Start `Vips.block_untrusted`
  auf, eine Absicherung gegen CVE-2026-66066. Fehlt die Methode, **bootet die Anwendung
  gar nicht** — auch nicht für Migrationen oder `rails runner`. Kurios, aber so gebaut:
  ein System ganz **ohne** libvips startet (dann fallen nur Bildvarianten aus), nur ein
  **zu altes** bricht ab. ⚠️ Ubuntu 22.04 liefert nur 8.12.1, auch aus den Backports;
  dort libvips aus dem Quelltext nach `/usr/local` bauen oder auf Ubuntu 24.04 gehen,
  das 8.15 mitbringt. Prüfen mit `vips --version`, oder genauer aus der Anwendung heraus:
  `bundle exec ruby -e 'require "vips"; p Vips.respond_to?(:block_untrusted)'`.
- Ein TLS-Zertifikat (z. B. via Let's Encrypt) für den produktiven Betrieb

<div class="docs-callout docs-callout--warning">
  <div class="docs-callout__title">Architektur beachten</div>
  <p>Native Binaries sind nicht zwischen ARM (z. B. Apple-Silicon-Entwicklung) und x86_64 (typische Server) übertragbar. Baue Images immer auf der Zielarchitektur.</p>
</div>

## Netzwerk

Lalabase benötigt ausgehenden Zugriff auf deinen KI-Provider (z. B. OpenAI), sofern du
die KI-Features nutzt. Alle übrigen Dienste laufen innerhalb deiner Infrastruktur.
