feat: down/rm de runs previos antes del up #6

Merged
hermes merged 1 commits from fix/down-before-up into main 2026-09-12 20:55:43 +02:00
Owner

Summary

Caso real: un deploy previo deja los contenedores levantados con otros puertos; el siguiente deploy.ps1 vps hacia up -d y compose reusaba los puertos viejos (se veia 3001 cuando el nuevo debia ser otro). El usuario lo pidio explicitamente: down antes de up.

  • openwebui/wordpress (compose): docker compose down antes del up — sin -v, asi los volumenes (modelo de 2 GB ya descargado) se conservan.
  • hermes/openclaw (docker run con nombre fijo): docker rm -f del contenedor previo antes del run — un contenedor parado de un run anterior causaba Conflict silencioso.

Quoting de cmd /c

Comillas anidadas dentro de cmd /c son fragiles (el parser de cmd). Patron usado: tokens separados, pwsh expande $var y cmd no ve comillas internas:

cmd /c docker compose -f $ComposeFile down '>' NUL '2>&1'

Verificado con EAP=Stop + stderr real de docker (proyecto inexistente, rc=1): el script sigue sin NativeCommandError.

Verificacion (pwsh 7.4.6)

  • Parse AST 4/4 OK
  • down sobre proyecto inexistente: rc=1 propagado, script sigue
  • rm inexistente: rc=0, script sigue
## Summary Caso real: un deploy previo deja los contenedores levantados con otros puertos; el siguiente `deploy.ps1 vps` hacia `up -d` y compose reusaba los puertos viejos (se veia 3001 cuando el nuevo debia ser otro). El usuario lo pidio explicitamente: down antes de up. - **openwebui/wordpress** (compose): `docker compose down` antes del up — sin `-v`, asi los volumenes (modelo de 2 GB ya descargado) se conservan. - **hermes/openclaw** (docker run con nombre fijo): `docker rm -f` del contenedor previo antes del run — un contenedor parado de un run anterior causaba `Conflict` silencioso. ## Quoting de cmd /c Comillas anidadas dentro de cmd /c son fragiles (el parser de cmd). Patron usado: tokens separados, pwsh expande `$var` y cmd no ve comillas internas: cmd /c docker compose -f $ComposeFile down '>' NUL '2>&1' Verificado con EAP=Stop + stderr real de docker (proyecto inexistente, rc=1): el script sigue sin NativeCommandError. ## Verificacion (pwsh 7.4.6) - Parse AST 4/4 OK - down sobre proyecto inexistente: rc=1 propagado, script sigue - rm inexistente: rc=0, script sigue
hermes added 1 commit 2026-09-12 20:55:42 +02:00
- openwebui/wordpress: docker compose down antes del up para que los
  puertos nuevos apliquen (volumenes preservados: el modelo no se
  re-descarga). Sin comillas anidadas en cmd /c (tokens separados,
  stderr descartado de forma segura con EAP=Stop).
- hermes/openclaw: docker rm -f del contenedor previo antes del run
  (un contenedor parado de un run anterior causaba Conflict).
hermes merged commit 912105f16f into main 2026-09-12 20:55:43 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: d0a1/packs#6