Installazione
Avvia l'attuale distribuzione Docker Compose a host singolo.
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.
Requisiti
- Installa Git.
- Installa Docker con Docker Compose.
- Riserva spazio su disco sufficiente per immagini, Postgres e file caricati.
- Riserva più memoria quando abiliti i worker opzionali.
Un comando
Il programma di installazione esegue tutti i passaggi della sezione successiva:
verifica i prerequisiti, recupera il sorgente in ./ciele ed esegue
bootstrap.sh.
curl -fsSL https://ciele.app/install.sh | shPassa i flag di bootstrap attraverso la pipe con -s -- e imposta CIELE_DIR
per scegliere la directory di checkout o CIELE_REF per installare un tag di
release:
curl -fsSL https://ciele.app/install.sh | sh -s -- --seedIl programma di installazione non elimina mai nulla: se la directory di destinazione esiste e non è un checkout di Ciele, si ferma e te lo comunica.
Su un Mac senza Docker, il programma di installazione non si ferma in caso di errore. Apre Ciele Desktop, scaricando prima la release quando l'app non è presente. La configurazione guidata che trovi lì collega Docker Desktop e avvia lo stesso stack descritto in questa pagina. Su Linux il programma di installazione si rifiuta, perché non c'è un'app desktop a cui affidare il lavoro.
Avvia lo stack
Per eseguire gli stessi passaggi manualmente:
git clone https://github.com/MattiaIppoliti/ciele.git
cd ciele
./deploy/bootstrap.shLo script genera i segreti necessari in deploy/.env. Quindi compila e avvia i
profili predefiniti.
Apri http://localhost:3000 dopo che i servizi sono diventati integri. Il primo account diventa il proprietario dell'organizzazione.
Usa ./deploy/bootstrap.sh --seed per aggiungere contenuti dimostrativi
sanitizzati.
Esegui le immagini pubblicate invece di compilarle
La compilazione di app, migrate e cron dal checkout richiede molto tempo e
necessita del repository completo. Ogni release pubblica anche questi tre come
immagini container:
./deploy/bootstrap.sh --images v0.4.0Il comando scrive due impostazioni in deploy/.env ed esegue il pull invece di
compilare:
COMPOSE_FILE=docker-compose.yml:docker-compose.images.yml
CIELE_IMAGE_TAG=v0.4.0Poiché entrambi risiedono in deploy/.env, un successivo docker compose up -d
in quella directory rimane in modalità immagine. Cancella entrambe le
impostazioni per tornare a compilare dal sorgente. Imposta
CIELE_IMAGE_REGISTRY in modo che utilizzi un mirror o la tua ricostruzione.
I profili, l'ordinamento dei servizi e il livello del database sono identici in entrambe le modalità. Cambia solo l'origine di questi tre servizi.
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.
Profili predefiniti
| Profilo | Predefinito | Servizi |
|---|---|---|
db | Sì | Postgres, pgvector, autenticazione, API dati, archiviazione e gateway. |
migrate | Sì | Migrazioni in sospeso e bucket di archiviazione richiesti. |
app | Sì | Console di amministrazione, runtime dei widget e API v1. |
cron | Sì | Job applicativi pianificati. |
workers | No | Servizi di recupero dei grafi e di crawling con rendering JavaScript. |
studio | No | Interfaccia di amministrazione del database. |
Ispeziona lo stack
docker compose -f deploy/docker-compose.yml ps
docker compose -f deploy/docker-compose.yml logs -f appLa configurazione predefinita pubblica l'applicazione sulla porta 3000 e il
gateway del database sulla porta 8000. Entrambi si collegano a 127.0.0.1,
quindi non è possibile accedere a nulla da un'altra macchina finché non si
inserisce un proxy inverso davanti. Imposta invece BIND_ADDRESS=0.0.0.0 in
deploy/.env per pubblicarli su ogni interfaccia. Postgres non viene mai
pubblicato. La console del database (Studio) rimane sempre su loopback. Accedi
tramite 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.
Una volta che esiste un'origine pubblica, imposta CIELE_PUBLIC_ORIGIN in
deploy/.env su quell'URL HTTPS. I link che vengono inseriti in un'e-mail, come
la conferma della newsletter, vengono generati a partire da questo valore. Senza
di esso, l'applicazione si rifiuta di inviare quelle e-mail. Non crea un link
dall'intestazione Host della richiesta.