# espo-deploy Öffentliche, **geheimnisfreie** Artefakte für EspoCRM-Kunden-VMs. Alles hier wird von den VMs ohne Anmeldung abgerufen – es steht deshalb **kein Passwort, kein Token und keine Kundenangabe** in diesem Repository. | Verzeichnis | Inhalt | |---|---| | `autoinstall/` | NoCloud-Seed für die Basis-VM (`user-data`, `meta-data`) | | `rmm-tasks/` | Skripte, die als Task im ConnectWise RMM hinterlegt sind (Quelle für Änderungen) | | `bin/` | Skripte, die auf der VM unter `/srv/espo/bin/` liegen und von Tasks aufgerufen werden | | `docker/` | je Ring ein Ordner mit dem Stand dieses Rings: `docker-compose.yml` und `config-override.php` | Konzept, Entscheidungen und Runbooks liegen im internen Repository `espoCRM/espo-fleet-ops`. ## Autoinstall ``` autoinstall ds=nocloud-net\;s=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main/autoinstall/ ``` Das Semikolon muss maskiert werden – in GRUB trennt ein unmaskiertes `;` zwei Befehle. ## Compose und Ringe | Ordner | Ring | Inhalt | |---|---|---| | `docker/0 - intern/` | 0 | der aktuelle Stand, hier wird entwickelt und getestet | | `docker/1 - Pilotkunde/` | 1 | freigegebener Stand für Pilotkunden | | `docker/2 - Produktivkunde/` | 2 | freigegebener Stand für den Regelbetrieb | Jeder Ordner enthält den vollständigen Stand dieses Rings: eine `docker-compose.yml` mit genau einem Platzhalter (`__FQDN__`) und die `config-override.php` mit den EspoCRM-Grundeinstellungen. **Eine Freigabe ist das Kopieren dieser Datei in den nächsten Ordner** – damit steht in jedem `git diff`, welche Instanzen den neuen Stand bekommen. `bin/espo-compose-rendern ` holt den Stand des Rings, setzt den FQDN ein und schreibt `/srv/espo/docker-compose.yml`. Diese Datei auf der VM ist ein **Erzeugnis** – sie wird bei jedem Lauf neu geschrieben, Änderungen von Hand gehen verloren. Geändert wird im Repository. ## Kundenspezifisches Gehört **nicht** hierher, sondern in die Custom Fields des RMM (FQDN, Ring, Wartungsfenster). Geheimnisse entstehen auf der VM (`/srv/espo/secrets/`, 0600) und verlassen sie nicht.