Actualizaciones y diagnóstico
Mantenga sh0 al día, vuelva atrás cuando una versión falle y revise el host antes de culpar a la app.
Actualizar sh0
Ejecute la actualización en el servidor. Busca la última versión final en GitHub, descarga el archivo de su arquitectura, lo verifica con las sumas de verificación publicadas y reemplaza el binario. La versión reemplazada se conserva para una reversión.
sudo sh0 update* sh0 self-update
Current version: v1.10.3-rc9
Checking for updates...
[+] Already running the latest version (v1.10.3-rc9).En un terminal interactivo, sh0 pregunta antes de reiniciar el servicio. Con --yes reinicia sin preguntar. Si se ejecuta desde cron, una tubería o un script sin --yes, nunca reinicia y lo avisa primero.
Canales
Por defecto, la actualización sigue el canal stable: solo versiones finales. --channel beta instala en su lugar la preversión más reciente. --force instala la versión del canal aunque no sea más nueva: así se vuelve a una versión anterior.
Revertir
--rollback restaura la versión que reemplazó la última actualización. Úselo cuando una versión falle justo después de actualizar.
Lo que sigue funcionando
Sus aplicaciones son contenedores de Docker: reiniciar sh0 no las detiene. El proxy inverso que tienen delante también sigue activo, siempre que la unidad de servicio conserve KillMode=process, que configura el instalador (vea Instalación).
Revisar el host con sh0 doctor
Ejecute sh0 doctor en el servidor cuando algo parezca ir mal, antes de una actualización o justo después de instalar. No requiere iniciar sesión y no cambia nada.
sudo sh0 doctorsh0 doctor préflight d'hôte
données : /var/lib/sh0
OK docker démon joignable -- version 29.8.1, API 1.56, linux/amd64, 2 conteneurs (2 en marche)
OK port 80 tenu par `caddy` -- c'est notre propre pile
OK port 443 tenu par `caddy` -- c'est notre propre pile
OK port 9000 tenu par `sh0` -- c'est notre propre pile
OK disque /var/lib/docker : 20.5 % occupés, 119.2 Gio libres sur 149.9 Gio
OK certificats 1 actif(s) (1 par Caddy, 0 téléversé(s), 35 interne(s) hors seuil), le plus proche expire dans 88 j (demo.sh0.dev)
OK panneau (domaine) demo.sh0.dev servi en HTTPS, certificat valable jusqu'au 2026-12-29
WARN panneau (exposition) HTTPS en service, mais le port 9000 répond encore en clair sur 5.78.182.107
OK horloge synchronisée, décalage mesuré 0 s
OK Applications sans projet toutes les applications sont rattachées à un projet
des avertissements, rien de bloquant (code de sortie 0)Cada línea es una comprobación: Docker, los puertos que necesita sh0 (80, 443 y el del panel), el espacio libre en disco, los certificados a punto de caducar, el dominio del panel y si el panel sigue respondiendo por HTTP sin cifrar, el reloj y las apps que quedaron fuera de todo proyecto. Una línea WARN señala algo que corregir; no bloquea.
Códigos de salida
0: nada bloquea (pueden quedar avisos).1: al menos un problema bloqueante.2: una comprobación no pudo ejecutarse. Una comprobación que no se ejecutó nunca se presenta como superada.
Añada --json para obtener una salida legible por máquina, por ejemplo en un script de monitorización.
Comprobaciones de la base de datos
Dos subcomandos de solo lectura inspeccionan la base de datos de sh0 en busca de restos de versiones anteriores:
sh0 doctor backup-rowscuenta los registros de restauración que una migración anterior no pudo alcanzar.sh0 doctor bind-mountslista los montajes del host que las reglas de montaje actuales rechazarían.