Registros
Los registros de ejecución vienen directamente del contenedor de la aplicación; los de compilación se guardan con cada despliegue. Ninguno de los dos es un archivo histórico.
Registros de ejecución en el panel
La pestaña Registros de una aplicación transmite lo que el contenedor escribe en la salida estándar y en la salida de errores. Se abre con las últimas 100 líneas y sigue las nuevas en directo; el visor conserva las últimas 1000 líneas.
- Buscar registros y Filtrar registros... reducen las líneas mostradas e indican el número de coincidencias.
- Pausar congela la vista mientras las líneas siguen llegando a un búfer; Reanudar las vuelve a mostrar.
- Alternar marcas de tiempo muestra u oculta la hora que Docker registró para cada línea.
- Copiar registros y Descargar registros toman las líneas presentes en el visor (un archivo
.txt); Limpiar registros solo vacía el visor. - En una aplicación compuesta por varios servicios, un selector elige el contenedor que se lee; por defecto, el Contenedor principal.
El flujo es un WebSocket en /api/v1/apps/<id>/logs, con los parámetros opcionales tail (como máximo 10 000 líneas), follow y service; una solicitud HTTP normal se rechaza.
Desde la CLI
sh0 logs <app> muestra las últimas 50 líneas y termina; --tail N cambia la cantidad (salida real):
$ sh0 logs my-api --tail 3
[*] Connecting to logs for my-api...
2026-10-02T03:07:16.015Z GET /
2026-10-02T03:07:16.070Z GET /health
2026-10-02T03:07:16.123Z GET /api/items-f / --follow mantiene el flujo abierto y muestra las nuevas líneas a medida que llegan, hasta que pulse Ctrl+C.
Registros de compilación
Cada despliegue conserva su propio registro de compilación y despliegue: ábralo desde la pestaña Despliegues de la aplicación. sh0 push y sh0 deploy --wait muestran el progreso del despliegue que lanzan. Los registros de compilación se guardan en la base de datos de sh0 con el despliegue y no se purgan automáticamente.
Qué se conserva y durante cuánto tiempo
sh0 no guarda ninguna copia de los registros de ejecución. Viven en los archivos de registro de Docker del contenedor, con los límites que sh0 fija al crear el contenedor:
| Registro | Conservación |
|---|---|
| Salida de ejecución de un contenedor | Controlador de Docker json-file, rotación a 10 MB, 3 archivos: unos 30 MB como máximo por contenedor; las líneas más antiguas se descartan primero |
| Tras un nuevo despliegue | El contenedor anterior se elimina, y sus registros con él: el visor empieza de nuevo con el contenedor nuevo |
| Registro de compilación y despliegue | Con el registro del despliegue, hasta que se elimina la aplicación |
| Ejecuciones de tareas cron | Vea Tareas cron: el historial de ejecuciones se purga por tarea |
$ docker inspect <container> --format '{{json .HostConfig.LogConfig}}'
{"Type":"json-file","Config":{"max-file":"3","max-size":"10m"}}docker inspect como arriba (salida real).Conservar los registros más tiempo
sh0 v1.10.2 no tiene exportación de registros, ajuste de retención ni envío de registros a un servicio externo. Si necesita un historial más allá de la ventana de rotación o entre despliegues, haga que la aplicación envíe sus registros a un servicio externo (un servicio de registros, un servidor syslog, su propio recolector) o ejecute en el host un recolector que lea los archivos de registro de Docker.