Ciele

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

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

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

El 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.62

El 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.62

Dado 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

ProfileDefaultServices
dbSíPostgres, pgvector, autenticación, API de datos, almacenamiento y pasarela.
migrateSíMigraciones pendientes y buckets de almacenamiento necesarios.
appSíAdministrator console, widget runtime y API v1.
cronSíTareas programadas de la aplicación.
workersNoServicio de rastreo con renderizado de JavaScript.
studioNoInterfaz 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 app

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

En esta página