# Voraussetzungen

Plazello läuft überall, wo Node.js gestartet werden kann – auf Webhosting-Paketen mit Node.js-Unterstützung ebenso wie auf einem eigenen Server (VPS oder dediziert) oder in Docker. Das Installationspaket enthält alle Abhängigkeiten bereits fertig; es werden keine Build-Werkzeuge und keine nativen Erweiterungen benötigt.

## Node.js

- **Node.js 20.12 oder neuer**, empfohlen sind **Node.js 22 oder 24**.
- Ältere Versionen erkennt der Shop beim Start und zeigt einen entsprechenden Hinweis an.
- Im Hosting-Panel wählen Sie die Version in der Regel bei der Einrichtung der Node.js-Anwendung aus.

## Datenbank

Sie benötigen eine **leere Datenbank** und einen Datenbank-Benutzer mit vollen Rechten darauf (der Shop legt seine Tabellen selbst an). Unterstützt werden:

| Datenbank | Mindestversion |
|---|---|
| MariaDB | 10.11 |
| MySQL | 8 |
| PostgreSQL | 14 |

Die Datenbank muss **UTF-8** verwenden (MySQL/MariaDB: `utf8mb4`, PostgreSQL: `UTF8`), damit Namen, Sonderzeichen und Emojis in Bestellungen und E-Mails korrekt gespeichert werden. Der Web-Installer prüft das; bei MariaDB und MySQL stellt er die Zeichenkodierung nach Möglichkeit selbst auf `utf8mb4` um.

## Server-Ressourcen

- **Arbeitsspeicher:** rund **600 MB** für den Shop. Intern laufen drei Node.js-Prozesse (Startprozess, Onlineshop und Admin).
- **Speicherplatz:** rund **250 MB** für die Anwendung. Bei Updates legt der Shop die neue Version im Datenordner ab und behält die vorherige als Rückfallversion – planen Sie dafür zusätzlichen Platz ein, außerdem für hochgeladene Bilder und Dateien.
- **Schreibrechte:** Der Shop schreibt alles, was bei der Installation und im Betrieb entsteht, in den Ordner `data/` (bzw. in das Datenverzeichnis des Containers). Dieser Ordner muss für den Benutzer, unter dem Node.js läuft, beschreibbar sein.

## Domain und HTTPS

- Eine **Domain oder Subdomain**, die auf den Shop zeigt.
- Ein **HTTPS-Zertifikat** – im Hosting-Panel meist per Let's Encrypt mit einem Klick, auf einem eigenen Server über einen Reverse Proxy (z. B. Caddy oder nginx) vor dem Shop.
- Onlineshop und Admin laufen unter derselben Adresse; der Admin liegt unter `/admin`.

## Webhosting mit Node.js-Unterstützung

Geeignet sind Hosting-Pakete, deren Panel Node.js-Anwendungen starten kann, zum Beispiel:

- **Plesk** (Bereich *Node.js*),
- **cPanel** (*Setup Node.js App*),
- andere Panels mit einer Funktion für Node.js-Anwendungen.

Hilfreich, aber nicht zwingend, ist ein **SSH-Zugang**: Damit entpacken Sie das Installationspaket direkt auf dem Server, was deutlich schneller geht als das Hochladen vieler Einzeldateien.

## Ausgehende Verbindungen

Für die Konto-Verknüpfung, die Update-Prüfung und Plugin-Updates baut der Shop ausgehende HTTPS-Verbindungen zu Plazello auf. Ohne diese Verbindungen läuft der Shop weiter, zeigt aber keine Updates an. Für Zahlungen und E-Mail-Versand braucht der Server außerdem Zugriff auf die jeweiligen Dienste (z. B. Stripe, PayPal, Ihren Mailserver).

## E-Mail-Versand

Für Bestellbestätigungen und andere E-Mails benötigen Sie Zugangsdaten zu einem Mailserver (SMTP), etwa das Postfach Ihres Hosting-Pakets. Den Versand richten Sie nach der Installation im Admin ein; solange kein Mailserver hinterlegt ist, werden E-Mails nur protokolliert und nicht verschickt.

## Weiter

- [Installation auf Webhosting (Node.js)](doc:installation-webhosting)
- [Installation mit Docker](doc:installation-docker)
