Ciele

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 | sh

Geben 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 -- --seed

Das 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.sh

Das 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.0

Der 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.0

Da 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

ProfilStandardDienste
dbJaPostgres, pgvector, Authentifizierung, Daten-API, Speicher und Gateway.
migrateJaAusstehende Migrationen und erforderliche Speicher-Buckets.
appJaAdministratorkonsole, Widget-Runtime und API v1.
cronJaGeplante Anwendungsjobs.
workersNeinDienste zum Abrufen von Graphen und zum Crawlen mit JavaScript-Rendering.
studioNeinSchnittstelle zur Datenbankverwaltung.

Überprüfen Sie den Stack

docker compose -f deploy/docker-compose.yml ps
docker compose -f deploy/docker-compose.yml logs -f app

In 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.

Auf dieser Seite