Administrar el servidor local
Usa yarn twenty docker:* para controlar el contenedor local de Twenty:
| Comando | Qué hace |
|---|
yarn twenty docker:start | Inicia el servidor local (descarga la imagen si es necesario) |
yarn twenty docker:start 2.2.0 | Iniciar una versión específica del servidor |
yarn twenty docker:start --port 3030 | Inicia en un puerto personalizado |
yarn twenty docker:stop | Detiene el servidor (conserva los datos) |
yarn twenty docker:status | Muestra la URL, la versión y las credenciales de inicio de sesión |
yarn twenty docker:logs | Transmite los registros del servidor |
yarn twenty docker:reset | Elimina los datos y comienza desde cero |
yarn twenty docker:upgrade | Descarga la última imagen twenty-app-dev |
yarn twenty docker:upgrade 2.2.0 | Actualiza a una versión específica |
Los datos se conservan entre reinicios en dos volúmenes de Docker (twenty-app-dev-data para PostgreSQL, twenty-app-dev-storage para archivos). Usa reset para borrar todo.
Fijar la versión del servidor
Cuando no se pasa ninguna versión, docker:start resuelve la versión a partir del rango engines.twenty de tu aplicación en package.json, el mismo rango con el que el servidor valida cuando tu aplicación se instala. Inicia la imagen publicada más reciente de twenty-app-dev que satisface el rango, recurriendo a latest cuando el campo está ausente o ninguna versión publicada coincide:
{
"engines": {
"twenty": ">=2.2.0"
}
}
Pasa una versión explícitamente para anular el rango en una sola ejecución: yarn twenty docker:start 2.3.0. Si ya existe un contenedor en una versión diferente, docker:start lo actualiza in situ (recreando el contenedor mientras conserva tus volúmenes de datos).
Actualización de la imagen del servidor
yarn twenty docker:upgrade descarga la última imagen, compara los digests y solo recrea el contenedor si realmente cambió algo. Los volúmenes se conservan — solo se reemplaza el contenedor. Si se descargó una nueva imagen y el contenedor estaba en ejecución, la actualización inicia automáticamente un contenedor nuevo; ejecuta yarn twenty docker:start después para esperar a que esté en buen estado.
yarn twenty docker:upgrade # Latest
yarn twenty docker:upgrade 2.2.0 # Specific version
Puedes verificar la versión en ejecución con yarn twenty docker:status (muestra el APP_VERSION incluido en el contenedor).
Ejecutar una instancia de prueba en paralelo
Pasa --test a cualquier comando de docker:* para administrar una segunda instancia completamente aislada — útil para ejecutar pruebas de integración o experimentar sin tocar los datos principales de desarrollo:
| Comando | Qué hace |
|---|
yarn twenty docker:start --test | Inicia la instancia de prueba (usa el puerto 2021 por defecto) |
yarn twenty docker:stop --test | Deténla |
yarn twenty docker:status --test | Muestra su estado |
yarn twenty docker:logs --test | Transmite sus registros |
yarn twenty docker:reset --test | Borra sus datos |
yarn twenty docker:upgrade --test | Actualiza su imagen |
La instancia de prueba se ejecuta en su propio contenedor de Docker (twenty-app-dev-test) con volúmenes dedicados (twenty-app-dev-test-data, twenty-app-dev-test-storage) y configuración dedicada, por lo que puede ejecutarse en paralelo con la instancia principal sin conflictos. Combina --test con --port para anular el puerto predeterminado (2021).
Configuración manual (sin el generador)
Omite el generador si vas a agregar el SDK a un proyecto existente:
yarn add twenty-sdk twenty-client-sdk
Agrega el script a package.json:
{
"scripts": {
"twenty": "twenty"
}
}
Ahora puedes ejecutar yarn twenty dev, yarn twenty docker:start y todos los demás comandos.
No instales twenty-sdk globalmente — fíjalo por proyecto para que cada app use su propia versión.