Ciele

Installation

Démarrez le déploiement Docker Compose actuel sur un seul hôte.

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.

Prérequis

  • Installez Git.
  • Installez Docker avec Docker Compose.
  • Réservez un espace disque suffisant pour les images, Postgres et les fichiers importés.
  • Réservez davantage de mémoire lorsque vous activez les workers optionnels.

Une seule commande

Le programme d'installation effectue toutes les étapes de la section suivante : il vérifie les prérequis, récupère le code source dans ./ciele et exécute bootstrap.sh.

curl -fsSL https://ciele.app/install.sh | sh

Passez les options de bootstrap via le pipe avec -s --, et définissez CIELE_DIR pour choisir le répertoire de sortie ou CIELE_REF pour installer une balise de version :

curl -fsSL https://ciele.app/install.sh | sh -s -- --seed

Le programme d'installation ne supprime jamais rien : si le répertoire cible existe et n'est pas une copie de Ciele, il s'arrête et vous en informe.

Sur un Mac sans Docker, le programme d'installation ne s'arrête pas en cas d'erreur. Il ouvre Ciele Desktop et télécharge d'abord la version de la release lorsque l'application est absente. La configuration guidée qui s'y trouve relie Docker Desktop et lance la même pile que celle décrite sur cette page. Sous Linux, le programme d'installation refuse, car il n'y a pas d'application de bureau à laquelle confier le travail.

Amorcer la pile

Pour effectuer les mêmes étapes manuellement :

git clone https://github.com/MattiaIppoliti/ciele.git
cd ciele
./deploy/bootstrap.sh

Le script génère les secrets requis dans deploy/.env. Il crée ensuite les profils par défaut et les lance.

Ouvrez http://localhost:3000 une fois que les services sont opérationnels. Le premier compte devient le propriétaire de l'organisation.

Utilisez ./deploy/bootstrap.sh --seed pour ajouter du contenu de démonstration nettoyé.

Exécutez les images publiées au lieu de les compiler

La compilation de app, migrate et cron à partir du répertoire de travail prend beaucoup de temps et nécessite le dépôt complet. Chaque version publie également ces trois éléments en tant qu'images de conteneur :

./deploy/bootstrap.sh --images v0.4.0

La commande écrit deux paramètres dans deploy/.env et effectue une extraction au lieu de compiler :

COMPOSE_FILE=docker-compose.yml:docker-compose.images.yml
CIELE_IMAGE_TAG=v0.4.0

Étant donné que les deux se trouvent dans deploy/.env, un docker compose up -d ultérieur dans ce répertoire reste en mode image. Effacez les deux paramètres pour revenir à la compilation à partir du code source. Configurez CIELE_IMAGE_REGISTRY pour qu'il utilise un miroir ou votre propre reconstruction.

Les profils, l'ordonnancement des services et la couche de base de données sont identiques dans les deux modes. Seule l'origine de ces trois services change.

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.

Profils par défaut

ProfilPar défautServices
dbOuiPostgres, pgvector, authentification, API de données, stockage et passerelle.
migrateOuiMigrations en attente et compartiments de stockage requis.
appOuiConsole d'administration, moteur d'exécution de widget et API v1.
cronOuiTâches planifiées de l'application.
workersNonServices de récupération de graphes et d'exploration avec rendu JavaScript.
studioNonInterface d'administration de la base de données.

Inspectez la pile

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

La configuration par défaut publie l'application sur le port 3000 et la passerelle de base de données sur le port 8000. Tous deux sont liés à 127.0.0.1, de sorte que rien n'est accessible depuis une autre machine tant que vous n'avez pas placé un proxy inverse en amont. Définissez plutôt BIND_ADDRESS=0.0.0.0 dans deploy/.env pour les publier sur chaque interface. Postgres n'est jamais publié. La console de base de données (Studio) reste toujours en boucle locale. Accédez-y via un tunnel SSH.

Add TLS before public use

The Compose stack serves plain HTTP. Put a trusted reverse proxy in front of every public origin.

Une fois qu'une origine publique existe, définissez CIELE_PUBLIC_ORIGIN dans deploy/.env sur cette URL HTTPS. Les liens qui sont inclus dans un e-mail, comme la confirmation de la newsletter, sont générés à partir de cette valeur. Sans cela, l'application refuse d'envoyer ces e-mails. Elle ne crée pas de lien à partir de l'en-tête Host de la requête.

Sur cette page