Instalación
Inicia la implementación actual de Docker Compose en un solo 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.
Requisitos
- Instala Git.
- Instala Docker con Docker Compose.
- Reserva suficiente espacio en disco para imágenes, Postgres y archivos subidos.
- Reserva más memoria cuando habilites los workers opcionales.
Un solo comando
El instalador realiza todos los pasos de la siguiente sección: verifica los
requisitos previos, descarga el código fuente en ./ciele y ejecuta
bootstrap.sh.
curl -fsSL https://ciele.app/install.sh | shPasa las «bootstrap flags» a través de la canalización con -s -- y establece
CIELE_DIR para elegir el directorio de «checkout» o CIELE_REF para instalar
una etiqueta de versión:
curl -fsSL https://ciele.app/install.sh | sh -s -- --seedEl instalador nunca elimina nada: si el directorio de destino existe y no es un «checkout» de Ciele, se detiene y te lo indica.
En un Mac sin Docker, el instalador no se detiene ante un error. Abre Ciele Desktop y, si la aplicación no está instalada, primero descarga la versión correspondiente. La configuración guiada que se ofrece allí vincula Docker Desktop e inicia la misma pila que se describe en esta página. En Linux, el instalador se niega, porque no hay ninguna aplicación de escritorio a la que delegar la tarea.
Inicializa la pila
Para realizar los mismos pasos manualmente:
git clone https://github.com/MattiaIppoliti/ciele.git
cd ciele
./deploy/bootstrap.shEl script genera los secretos necesarios en deploy/.env. A continuación,
compila e inicia los perfiles predeterminados.
Abre http://localhost:3000 cuando los servicios estén en estado «healthy». La primera cuenta se convierte en el propietario de la organización.
Utiliza ./deploy/bootstrap.sh --seed para añadir contenido de demostración
depurado.
Ejecuta imágenes publicadas en lugar de compilarlas
Compilar app, migrate y cron desde el checkout lleva mucho tiempo y
requiere el repositorio completo. Cada versión también publica esos tres
elementos como imágenes de contenedor:
./deploy/bootstrap.sh --images v1.0.62El comando escribe dos ajustes en deploy/.env y realiza un «pull» en lugar de
compilar:
COMPOSE_FILE=docker-compose.yml:docker-compose.images.yml
CIELE_IMAGE_TAG=v1.0.62Dado que ambos se encuentran en deploy/.env, un docker compose up -d
posterior en ese directorio permanece en modo imagen. Borra ambos ajustes para
volver a compilar desde el código fuente. Configura CIELE_IMAGE_REGISTRY para
usar un espejo o tu propia recompilación.
Los perfiles, el orden de los servicios y la capa de base de datos son idénticos en ambos modos. Solo cambia el origen de esos tres servicios.
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.
Perfiles predeterminados
| Profile | Default | Services |
|---|---|---|
db | Sí | Postgres, pgvector, autenticación, API de datos, almacenamiento y pasarela. |
migrate | Sí | Migraciones pendientes y buckets de almacenamiento necesarios. |
app | Sí | Administrator console, widget runtime y API v1. |
cron | Sí | Tareas programadas de la aplicación. |
workers | No | Servicio de rastreo con renderizado de JavaScript. |
studio | No | Interfaz de administración de la base de datos. |
Inspecciona la pila
La pasarela actualiza las direcciones de los servicios a través de Docker DNS. Después de recrear un servicio, las solicitudes pueden fallar brevemente mientras se resuelve su nueva dirección. La pasarela se recupera sin necesidad de reiniciarla. La comprobación de disponibilidad de PostgreSQL utiliza TCP, por lo que los servicios esperan hasta que finalice la inicialización de la base de datos en una instalación nueva. El ejecutor de migraciones también espera a que la autenticación y el almacenamiento completen sus propias migraciones antes de aplicar el esquema de Ciele.
docker compose -f deploy/docker-compose.yml ps
docker compose -f deploy/docker-compose.yml logs -f appLa configuración predeterminada publica la aplicación en el puerto 3000 y la
pasarela de la base de datos en el puerto 8000. Ambos se enlazan a
127.0.0.1, por lo que no se puede acceder a nada desde otra máquina hasta que
coloques un proxy inverso delante. Establece BIND_ADDRESS=0.0.0.0 en
deploy/.env para publicarlos en todas las interfaces en su lugar. Postgres
nunca se publica. La consola de la base de datos (Studio) siempre permanece en
loopback. Accede a ella a través de un túnel SSH.
Add TLS before public use
The Compose stack serves plain HTTP. Put a trusted reverse proxy in front of every public origin.
La aplicación comprueba esto al iniciarse. Lee PUBLIC_URL,
CIELE_PUBLIC_ORIGIN y NEXT_PUBLIC_APP_URL. Cuando cualquiera de ellas
empieza por http:// y no apunta al equipo local, la aplicación no se inicia.
El registro del contenedor indica el nombre de la variable. El valor
predeterminado PUBLIC_URL=http://localhost:3000 supera la comprobación. Para
ejecutar deliberadamente sobre HTTP sin cifrar, por ejemplo en una red privada,
establece CIELE_ALLOW_INSECURE_HTTP=1 en deploy/.env.
Una vez que exista un origen público, establece CIELE_PUBLIC_ORIGIN en
deploy/.env con esa URL HTTPS. Los enlaces que se incluyen en un correo
electrónico, como la confirmación del boletín, se generan a partir de este
valor. Sin él, la aplicación se niega a enviar esos correos electrónicos. No
genera un enlace a partir del encabezado Host de la solicitud.