Installation
Starten Sie die aktuelle Docker-Compose-Bereitstellung für einen einzelnen Host.
No terminal? Use the desktop app
Ciele Desktop performs every step on this page for you, including generating the secrets and starting the stack. It needs only Docker Desktop. This page is the server path.
Anforderungen
- Installieren Sie Git.
- Installieren Sie Docker mit Docker Compose.
- Reservieren Sie ausreichend Speicherplatz für Bilder, Postgres und hochgeladene Dateien.
- Reservieren Sie mehr Speicher, wenn Sie die optionalen Worker aktivieren.
Ein Befehl
Das Installationsprogramm führt jeden Schritt im nächsten Abschnitt aus: Es
überprüft die Voraussetzungen, holt den Quellcode in ./ciele und führt
bootstrap.sh aus.
curl -fsSL https://ciele.app/install.sh | shGeben Sie Bootstrap-Flags mit -s -- über die Pipe weiter und setzen Sie
CIELE_DIR, um das Checkout-Verzeichnis auszuwählen, oder CIELE_REF, um einen
Release-Tag zu installieren:
curl -fsSL https://ciele.app/install.sh | sh -s -- --seedDas Installationsprogramm löscht niemals etwas: Wenn das Zielverzeichnis existiert und kein Ciele-Checkout ist, stoppt es und informiert Sie darüber.
Auf einem Mac ohne Docker stoppt das Installationsprogramm nicht bei einem Fehler. Es öffnet Ciele Desktop und lädt zuerst die Release-Version herunter, wenn die App nicht vorhanden ist. Die geführte Einrichtung dort verbindet Docker Desktop und startet denselben Stack, der auf dieser Seite beschrieben wird. Unter Linux lehnt das Installationsprogramm ab, da es keine Desktop-App gibt, an die die Arbeit übergeben werden kann.
Bootstrappen Sie den Stack
So führen Sie dieselben Schritte manuell aus:
git clone https://github.com/MattiaIppoliti/ciele.git
cd ciele
./deploy/bootstrap.shDas Skript generiert die erforderlichen Secrets in deploy/.env. Anschließend
erstellt und startet es die Standardprofile.
Öffnen Sie http://localhost:3000, sobald die Dienste fehlerfrei laufen. Das erste Konto wird zum Eigentümer der Organisation.
Verwenden Sie ./deploy/bootstrap.sh --seed, um bereinigte Demo-Inhalte
hinzuzufügen.
Veröffentlichte Images ausführen, anstatt zu bauen
Das Erstellen von app, migrate und cron aus dem Checkout nimmt viel Zeit
in Anspruch und erfordert das vollständige Repository. Jedes Release
veröffentlicht diese drei auch als Container-Images:
./deploy/bootstrap.sh --images v0.4.0Der Befehl schreibt zwei Einstellungen in deploy/.env und führt einen Pull
durch, anstatt zu bauen:
COMPOSE_FILE=docker-compose.yml:docker-compose.images.yml
CIELE_IMAGE_TAG=v0.4.0Da sich beide in deploy/.env befinden, bleibt ein späterer
docker compose up -d in diesem Verzeichnis im Image-Modus. Deaktivieren Sie
beide Einstellungen, um wieder aus dem Quellcode zu bauen. Stellen Sie
CIELE_IMAGE_REGISTRY so ein, dass ein Mirror oder Ihr eigener Rebuild
verwendet wird.
Profile, Service-Ordering und die Datenbankebene sind in beiden Modi identisch. Nur die Herkunft dieser drei Dienste ändert sich.
Recreate the container after changing the public URL
The published application image resolves SUPABASE_PUBLIC_URL once, when the
container starts, because Next.js inlines that class of value at build time.
Run docker compose up -d to recreate the container after you change it. A
restart alone keeps the previous value.
Standardprofile
| Profil | Standard | Dienste |
|---|---|---|
db | Ja | Postgres, pgvector, Authentifizierung, Daten-API, Speicher und Gateway. |
migrate | Ja | Ausstehende Migrationen und erforderliche Speicher-Buckets. |
app | Ja | Administratorkonsole, Widget-Runtime und API v1. |
cron | Ja | Geplante Anwendungsjobs. |
workers | Nein | Dienste zum Abrufen von Graphen und zum Crawlen mit JavaScript-Rendering. |
studio | Nein | Schnittstelle zur Datenbankverwaltung. |
Überprüfen Sie den Stack
docker compose -f deploy/docker-compose.yml ps
docker compose -f deploy/docker-compose.yml logs -f appIn der Standardkonfiguration wird die Anwendung auf Port 3000 und das
Datenbank-Gateway auf Port 8000 veröffentlicht. Beide binden an 127.0.0.1,
sodass von einem anderen Rechner nichts erreichbar ist, bis Sie einen
Reverse-Proxy davor platzieren. Stellen Sie stattdessen BIND_ADDRESS=0.0.0.0
in deploy/.env so ein, dass sie auf jeder Schnittstelle veröffentlicht werden.
Postgres wird niemals veröffentlicht. Die Datenbankkonsole (Studio) bleibt immer
auf Loopback. Greifen Sie über einen SSH-Tunnel darauf zu.
Add TLS before public use
The Compose stack serves plain HTTP. Put a trusted reverse proxy in front of every public origin.
Sobald ein öffentlicher Ursprung vorhanden ist, setzen Sie CIELE_PUBLIC_ORIGIN
in deploy/.env auf diese HTTPS-URL. Links, die in eine E-Mail eingefügt
werden, wie etwa die Bestätigung für den Newsletter, werden aus diesem Wert
erstellt. Ohne diesen Wert lehnt die Anwendung das Versenden dieser E-Mails ab.
Sie erstellt keinen Link aus dem Host-Header der Anfrage.