espo-deploy/README.md
Gordon Zimm 0d8aeccff8 config-override.php je Ring statt einmal fuer alle
Die Grundeinstellungen gehoeren zum Stand eines Rings wie die Compose: Eine
Aenderung daran soll denselben Freigabeweg nehmen. Die Datei liegt jetzt in
allen drei Ringordnern, die gemeinsame Fassung ist entfallen.

ESPO-03 holt sie aus dem Ordner des jeweiligen Rings; die Zuordnung Ring zu
Ordner steht damit an zwei Stellen und ist in beiden vermerkt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 12:14:49 +02:00

44 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 <fqdn> <ring>` 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.