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 suffisamment d'espace disque 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 exécute toutes les étapes de la section suivante :
il vérifie les prérequis, récupère les sources dans ./ciele et exécute
bootstrap.sh.
curl -fsSL https://ciele.app/install.sh | shPassez les options de bootstrap via le pipe avec -s --, et définissez
CIELE_DIR pour choisir le répertoire de checkout ou CIELE_REF pour installer
une balise de version :
curl -fsSL https://ciele.app/install.sh | sh -s -- --seedL'installateur ne supprime jamais rien : si le répertoire cible existe et n'est pas un checkout Ciele, il s'arrête et vous en informe.
Sur un Mac sans Docker, l'installeur ne s'arrête pas en cas d'erreur. Il ouvre Ciele Desktop et, si l'application n'est pas présente, télécharge d'abord la version correspondante. La configuration guidée qui s'y trouve associe Docker Desktop et démarre la même pile que celle décrite sur cette page. Sous Linux, l'installateur refuse, car il n'existe pas d'application de bureau à laquelle confier la tâche.
Initialiser la pile
Pour effectuer les mêmes étapes manuellement :
git clone https://github.com/MattiaIppoliti/ciele.git
cd ciele
./deploy/bootstrap.shLe script génère les secrets requis dans deploy/.env. Il construit ensuite les
profils par défaut et les démarre.
Ouvrez http://localhost:3000 une fois que les services sont passés à l'état « healthy ». Le premier compte devient le propriétaire de l'organisation.
Utilisez ./deploy/bootstrap.sh --seed pour ajouter du contenu de démonstration
assaini.
Exécuter les images publiées au lieu de les générer
La compilation de app, migrate et cron à partir du checkout prend beaucoup
de temps et nécessite le dépôt complet. Chaque version publie également ces
trois éléments sous forme d'images de conteneur :
./deploy/bootstrap.sh --images v1.0.62La commande écrit deux paramètres dans deploy/.env et effectue un pull au lieu
de procéder à la compilation :
COMPOSE_FILE=docker-compose.yml:docker-compose.images.yml
CIELE_IMAGE_TAG=v1.0.62É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 des sources.
Définissez CIELE_IMAGE_REGISTRY pour utiliser un miroir ou votre propre
reconstruction.
Les profils, l'ordre 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
| Profile | Default | Services |
|---|---|---|
db | Oui | Postgres, pgvector, authentification, API de données, stockage et passerelle. |
migrate | Oui | Migrations en attente et buckets de stockage requis. |
app | Oui | Administrator console, widget runtime et API v1. |
cron | Oui | Tâches d'application planifiées. |
workers | Non | Service de crawl avec rendu JavaScript. |
studio | Non | Interface d'administration de la base de données. |
Inspecter la pile
La passerelle actualise les adresses des services via Docker DNS. Après la recréation d'un service, les requêtes peuvent échouer brièvement pendant la résolution de sa nouvelle adresse. La passerelle se rétablit sans redémarrage. La détection de l'état de disponibilité de PostgreSQL utilise TCP ; ainsi, les services attendent que l'initialisation de la base de données soit terminée sur une nouvelle installation. Le migration runner attend également que l'authentification et le stockage aient terminé leurs propres migrations avant d'appliquer le schéma Ciele.
docker compose -f deploy/docker-compose.yml ps
docker compose -f deploy/docker-compose.yml logs -f appLa configuration par défaut publie l'application sur le port 3000 et la
passerelle de base de données sur le port 8000. Les deux se lient à
127.0.0.1, de sorte que rien n'est accessible depuis une autre machine tant
que vous n'avez pas placé un reverse proxy en amont. Définissez
BIND_ADDRESS=0.0.0.0 dans deploy/.env pour les publier sur toutes les
interfaces à la place. Postgres n'est jamais publié. La console de base de
données (Studio) reste toujours sur loopback. 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.
L'application vérifie cela au démarrage. Il lit PUBLIC_URL,
CIELE_PUBLIC_ORIGIN et NEXT_PUBLIC_APP_URL. Lorsque l'une d'entre elles
commence par http:// et ne pointe pas vers la machine locale, l'application ne
démarre pas. Le journal du conteneur indique le nom de la variable. La valeur
par défaut PUBLIC_URL=http://localhost:3000 réussit la vérification. Pour
exécuter délibérément sur HTTP non chiffré, par exemple sur un réseau privé,
définissez CIELE_ALLOW_INSECURE_HTTP=1 dans deploy/.env.
Une fois qu'une origine publique existe, définissez CIELE_PUBLIC_ORIGIN dans
deploy/.env sur cette URL HTTPS. Les liens qui figurent dans un e-mail, comme
la confirmation d'inscription à la newsletter, sont générés à partir de cette
valeur. Sans cela, l'application refuse d'envoyer ces e-mails. Il ne génère pas
de lien à partir de l'en-tête Host de la requête.