diff --git a/deploy/README.md b/deploy/README.md index b910db0..d8f32af 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -59,6 +59,9 @@ Failures are logged locally; external alerts are not configured. To install or update the controller from a reviewed checkout on the server: ```sh +sudo systemctl stop minabot-deploy.timer +# Let any running deployment finish before replacing its controller. +sudo systemctl start minabot-deploy.service sudo install -m 755 deploy/deploy.sh /usr/local/bin/minabot-deploy sudo install -m 644 deploy/minabot-deploy.service deploy/minabot-deploy.timer /etc/systemd/system/ sudo systemctl daemon-reload @@ -69,6 +72,8 @@ Controller/service changes require this explicit installation; normal app, Dockerfile, Compose, and Caddyfile changes deploy automatically. Do not force-reset `main` to roll back: prefer a revert commit so the pipeline tests the result. +For first-time installation, omit the first two commands if the units do not exist. + `bun test deploy/deploy.test.ts` verifies success, idempotency, failure before cutover, safe rollback, and refusal to replace data after a schema change using isolated fake Git/Docker commands. It never contacts production.