7 Commits

Author SHA1 Message Date
f75c62224f ESPO-13-Secrets-setzen, ESPO-30-Extension-Installieren, espo_extensions
ESPO-13 legt Secrets unter /srv/espo/secrets ab (vorerst
gitea_package_token). Je Secret ein Parameter; leer oder woertlicher
Platzhalter laesst den Bestand. Erst Format und Funktion aller Werte
pruefen (Probeabruf der Registry), dann atomar schreiben - ein falscher
Token ersetzt keinen funktionierenden. Getestet: gesetzt, unveraendert,
falsches Format, abgelehnter Token.

ESPO-30 holt <extension> <version> aus der Package Registry
EspoCRM_Packages: SHA-256 gegen die Registry, Name und Version gegen das
Manifest, kein Rueckschritt, Snapshot srv-vor-update vor dem Download,
Installation per command.php als www-data, Neustart und Warten auf
healthy, Nachweis ueber --list. Danach liegt keine ZIP mehr auf der VM -
auch EspoCRMs eigene Archive in data/upload/extensions werden entfernt;
Update und Deinstallation brauchen sie nicht (Quelle 10.0.8).

ESPO-20 misst espo_extensions ("Name Version; ...", "none" wenn leer) und
beschreibt den Leseweg der Version wieder richtig. Ring 0 sperrt den
Extension-Upload in der Oberflaeche. README: Nummernkreise nachgezogen,
verrutschte Zeilen der Verzeichnistabelle zurueckgeholt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 13:58:35 +02:00
42de4be4d6 ESPO-12 heisst jetzt Snapshot-wiederherstellen
Parallel zu ESPO-11-Snapshot-verwerfen; der Name sagt, was passiert, statt wohin
es fuehrt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 17:01:33 +02:00
c2b37dd8fa Nummernkreise: Update-Block beginnt bei ESPO-10
Aus ESPO-04 und ESPO-05 werden ESPO-10 und ESPO-11. Ein Zehnerkreis
kennzeichnet den Block und beginnt bei x0; 0x bleibt der Weg von der leeren VM
zur laufenden Instanz, 1x das Aktualisieren, 2x Betrieb und Ueberwachung.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-24 14:42:04 +02:00
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
823cf43135 Ringe als Ordner: docker/<ring>/docker-compose.yml
Statt einer Vorlage fuer alle liegt je Ring eine vollstaendige Compose im Repo.
Eine Freigabe ist damit das Kopieren der Datei in den naechsten Ordner und in
jedem git diff sichtbar. Fuer den Anfang ist nur "0 - intern" gefuellt; die
beiden anderen Ordner erklaeren, dass dort noch kein Stand freigegeben ist.

espo-compose-rendern nimmt jetzt <fqdn> und <ring> und bricht ab, wenn fuer den
Ring kein Stand hinterlegt ist. Die Ringwerte 0/1/2 entsprechen dem Custom Field
espo_ring.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 14:40:48 +02:00
996490075a Compose-Vorlage, EspoCRM-Grundeinstellungen und Render-Skript
Die Vorlage ist fuer alle Kunden identisch und traegt genau einen Platzhalter
(__FQDN__); bin/espo-compose-rendern setzt ihn ein und schreibt
/srv/espo/docker-compose.yml. Keine .env mehr: alles ausser den Geheimnissen
steht in der Compose selbst.

Inhalt der Vorlage: Bind-Mounts unter /srv/espo, Datei-Secrets fuer die beiden
MariaDB-Passwoerter, Record-IDs als uuid4/36 ueber configs (in allen drei
EspoCRM-Diensten, weil configs nicht ueber volumes_from vererbt werden),
adminUpgradeDisabled, WebSocket ueber wss://<fqdn>/wss, Healthchecks mit
Startfenstern fuer den Migrationslauf.

ESPO-02 setzt keine abweichende Bindeadresse mehr - die Ports muessen fuer den
Reverse Proxy erreichbar sein. Stattdessen beschraenkt eine DOCKER-USER-Regel
den Zugang auf das eigene Subnetz, das die VM selbst ermittelt; eine
systemd-Unit setzt sie nach jedem Docker-Start neu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 14:22:59 +02:00
f5da6fd3b3 Autoinstall-Seed und Repo-Struktur
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 10:15:16 +02:00