# Customer Installer – Proxmox LXC n8n Stack Dieses Projekt automatisiert die Bereitstellung isolierter Kunden-Instanzen mit n8n, PostgreSQL und pgvector in Proxmox LXC Containern. ## Projektstruktur ``` customer-installer/ ├── install.sh # Hauptskript auf dem Proxmox-Host ├── setupowner.sh # Setup-Skript, das innerhalb des LXC ausgeführt wird ├── libsupabase.sh # Helper für Datenbank-Operationen (Mockup/Basis) ├── templates/ │ └── docker-compose.yml # n8n + PostgreSQL + pgvector Stack └── README.md ``` ## Funktionen ### install.sh (Host-Ebene) - Verarbeitet Argumente: --storage, --bridge, --ip, --vlan - Generiert eine CTID basierend auf dem aktuellen Zeitstempel - Lädt das Debian 12 Template herunter - Erstellt den LXC Container mit: - Unprivilegierten Einstellungen - Aktiviertem Nesting - VLAN Tag Konfiguration - Konfiguriert APT-Proxy im LXC - Überträgt setupowner.sh und docker-compose.yml in den LXC - Startet den LXC und führt setupowner.sh aus ### setupowner.sh (LXC-Ebene) - Installiert Docker & Docker Compose Plugin (verwendet den Docker-Proxy) - Erstellt Verzeichnisse für Daten-Persistenz - Generiert sichere Zufallspasswörter für PostgreSQL und n8n-Encryption - Startet den Docker-Stack - Wartet, bis n8n bereit ist - Gibt alle Zugangsdaten als JSON-Objekt aus ### docker-compose.yml - Services: db (ankane/pgvector:latest), n8n (docker.n8n.io/n8nio/n8n:latest) - Volumes für Datenpersistenz - Umgebungsvariablen für DB-Anbindung und Zeitzone (Europe/Berlin) ## Ausführung ### Auf dem Proxmox-Host: ```bash chmod +x install.sh ./install.sh --storage local --bridge vmbr0 --vlan 90 ``` ### Parameter: - `--storage`: Speicherort für den Container (Standard: local) - `--bridge`: Netzwerkbrücke (Standard: vmbr0) - `--ip`: Statische IP (optional) - `--vlan`: VLAN Tag (optional) ## Output (JSON) Das Skript gibt ein JSON-Objekt mit folgenden Informationen aus: ```json { "ctid": "100", "ip": "192.168.45.100", "postgres_password": "a1b2c3d4e5f67890", "n8n_encryption_key": "09f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4" } ``` ## Sicherheit & Compliance - Alle Instanzen sind isoliert - Fehlerbehandlung mit set -e - Verwendung sicherer Zufallspasswörter - VLAN Integration für Netzwerksicherheit