Actualizaciones
Con el perfil updates, WUD (What’s Up Docker) instala cada versión
nueva del canal stable: de madrugada, o cuando el administrador lo pide desde la app. En el .env:
COMPOSE_PROFILES="updates" # o "snapcast,updates"WUD_PASSWORD="..." # contraseña del usuario admin de WUD; sin «:»# UPDATE_CRON="0 4 * * *" # cuándo mira si hay versión nueva (por defecto, a las 4:00)- El aviso: la app compara su versión con el último release de GitHub. Al administrador le sale un aviso arriba y, en Ajustes → Versión, las novedades y el botón «Actualizar ahora».
- Antes de actualizar, WUD hace una copia de la base de datos en
update-backups/, junto al compose, con la hora en UTC en el nombre, y guarda las cuatro últimas. Si la copia falla, no actualiza. - Si la versión nueva no arranca sana, vuelve a la anterior. Para deshacer una actualización
que sí arrancó, con la imagen anterior (
IMAGE_TAG=1.1.0) y esa copia: elpg_restorede arriba con el fichero deupdate-backups/, yup -d. - Solo toca los servicios con la etiqueta
wud.watch=true(la app, Caddy, Snapcast y la copia en R2), nunca Postgres. Su web está enhttp://127.0.0.1:3001, solo en el propio equipo. - Control de Docker: WUD necesita el socket de Docker, así que quien controla WUD controla los contenedores del equipo. Por eso su web no sale del equipo y lleva contraseña.
- Limitación: después de una vuelta atrás, WUD deja de seguir a la app, porque la imagen
anterior se queda sin la etiqueta
stable. Hasta el próximodocker compose -f compose.prod.yaml pullyup -dhechos a mano, no se actualiza sola.
Publicar una versión
Sección titulada «Publicar una versión»-
PR de
developmentamain, y merge. Solo se puede con el CI en verde (.github/workflows/ci.yml: Prettier,svelte-check, tests, build y que no falte ninguna migración); también corre en cada push adevelopment. -
Un release en GitHub sobre
main, con la versión comovX.Y.Z(tres números): patch para arreglos, minor para novedades, major si algo deja de funcionar como antes. Las notas, en español: son las que ve el administrador en el aviso de la app. No lo marques como pre-release, o no muevestable. Desde la web (Releases → Draft a new release) o con:Ventana de terminal gh release create v1.2.0 --target main --title "1.2.0" --notes "…" -
Espera a que Actions construya las imágenes (unos minutos). Desde ahí, WUD las instala esa madrugada, o el administrador con «Actualizar ahora». Cuando terminan (o fallan) llega un aviso a Slack, por el Incoming Webhook del secreto
SLACK_WEBHOOK_URLdel repositorio.
WUD actualiza las imágenes, nunca compose.prod.yaml ni el .env. Si un cambio necesita tocarlos,
dilo en las notas («requiere actualizar el compose»): en cada casa hay que traer el compose nuevo
(git pull), completar el .env y hacer pull y up -d.
Una imagen nueva (como lo fue -backup) puede quedar privada en GitHub la primera vez. Si pull
dice denied, en GitHub: Packages → la imagen → Package settings → Change visibility → Public.