Erste Schritte für System Administratorem
Architekturhinweis
- PostgreSQL-Datenbank: Eine PostgreSQL-Datenbank ist erforderlich. Wir empfehlen die Nutzung der Supabase PostgreSQL 17 Images (siehe Docker-Compose Beispiel unten).
- High Availability (HA) ist möglich, sofern die Volumes
/data
undpostgres_data
auf einem hochverfügbaren Dateisystem liegen (z. B. verteiltes/replicated Storage).
Voraussetzungen
- Docker 27.x
- PostgreSQL 17 mit Vector Extension
- Netzwerkanbindung: Der Host darf nicht air-gapped sein (Zugriff auf Container-Registry, Updates und Lizenzserver erforderlich).
- Lizenzschlüssel von Ihrem Distributor.
Systemanforderungen
Minimum (je nach Volumen):
- 1 CPU
- 512 MB RAM
- 2 GB Speicher
Empfohlen (≈ 50 000 Aufrufe/Monat):
- 4 CPU
- 8 GB RAM
- 25 GB Speicher
Docker‑Compose Beispiel
Als PostgreSQL-Datenbank empfehlen wir die Supabase PostgreSQL 17 Images. Falls das Supabase Image nicht genutzt werden möchte, muss mindestens PostgreSQL 17 mit der Vector Extension vorhanden sein.
version: "3.9"
volumes:
crisp:
postgres_data:
services:
postgres:
image: supabase/postgres:17.4.1.032
restart: always
environment:
POSTGRES_DB: crispy
POSTGRES_USER: crispy
POSTGRES_PASSWORD: your_secure_password
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
crisp:
image: registry.jrbit.de/jrb-it/crispy/licensed:stable # Oder Custom Image vom Distributor
restart: always
ports:
- 80:80 # HTTP
- 81:81 # API HTTP
mem_limit: 512m
mem_reservation: 256m
cpus: 0.5
environment:
POSTGRES_URI: "postgres://crispy:your_secure_password@postgres:5432/crispy"
HOST: "domain.tld"
PROTO: "https"
volumes:
- crisp:/data
depends_on:
- postgres
Wichtige Umgebungsvariablen
POSTGRES_URI
– Verbindungs-URI zur externen PostgreSQL‑Datenbank (USER
,PASS
,db_host
,db_name
anpassen).HOST
– Öffentliche Domain, unter der CrispyCMS erreichbar ist (ohne Protokoll).PROTO
–"https"
hinter Reverse Proxy/Load Balancer, sonst"http"
für Tests.
Tipp: Hinterlegen Sie sensible Werte (DB‑Passwörter, Lizenz) in einer .env
‑Datei und referenzieren Sie sie in docker-compose.yml
:
In der Compose-Datei dann z. B. environment: - POSTGRES_URI=${POSTGRES_URI}
usw.
Demo/Free-Lizenz
Wir stellen eine kostenlose Demo/Free-Lizenz zur Verfügung, die sowohl für Test- und Evaluierungszwecke als auch für kleine Produktivumgebungen genutzt werden kann. Diese Lizenz kann direkt bei der Ersteinrichtung oder in bestehenden Systemen verwendet werden.
Limits der Demo/Free-Lizenz:
- Maximal 3 Benutzer
- Maximal 10 Seiten
- Maximal 2 Layouts
- Maximal 2 Templates
- Maximal 2 Kategorien
- Maximal 1000 Seitenaufrufe/Monat (Traffic)
- Maximal 10 Captcha-Antworten/Monat
Haftungsauschluss
Die Demo/Free-Lizenz wird nicht für den Produktivbetrieb empfohlen. Es besteht keine Gewähr für etwaige Störungen oder Einschränkungen im laufenden Betrieb. Für produktive Umgebungen und Support wenden Sie sich bitte an Ihren Distributor.
Diese Demo/Free-Lizenz ist ausschließlich für Images der Back Labidi Netzwerktechnik GbR gültig und kann nicht mit Images anderer Distributoren verwendet werden.
- Registry‑Login (falls erforderlich):
Ersteinrichtung im Browser:
- Auf Port 80 zugreifen (
http://<HOST>
). - Lizenzschlüssel im entsprechenden Fenster eingeben.
-
Konto erstellen.
-
Danach im Dashboard auf „Einstellungen“ wechseln und die notwendigen Konfigurationen vornehmen.
Betrieb & Best Practices
- TLS/HTTPS: Produktionsempfehlung: TLS am Reverse Proxy (z. B. Traefik/Caddy/nginx) terminieren;
PROTO=https
,HOST
auf die öffentliche Domain setzen. - Persistenz/Backups: Volume
/data
regelmäßig sichern; zusätzlich Datenbank‑Backups einplanen. - Updates:
- Monitoring/Health: Logs prüfen (
docker compose logs -f crisp
), optional Healthcheck und Ressourcenlimits verfeinern. - Skalierung/HA: Unter Last CPU/RAM erhöhen; für HA
/data
auf HA‑Storage legen und mehrere Replikate hinter einen Load Balancer stellen.
Troubleshooting
- Container startet nicht:
docker compose logs --no-color crisp
prüfen. - Keine Verbindung zur DB:
POSTGRES_URI
verifizieren, Firewall/Reachability zum DB‑Host testen. - Falsche URLs/Weiterleitungen:
HOST
/PROTO
korrekt setzen (insbesondere hinter Reverse Proxy).