Updating
A release has two moving parts: the images
(ghcr.io/batazor/autopilot/bot:latest, web:latest) and the
docker-compose.prod.yml itself. Pulling only the images is the most common
mistake — the compose file evolves too (health checks, services, env), and your
copy is a static download that nothing refreshes for you.
The correct update
Section titled “The correct update”-
Refresh the compose file. It changes between releases, and your local copy never updates itself:
Terminal window curl -fsSL https://batazor.github.io/autopilot-page/docker-compose.prod.yml -o docker-compose.prod.yml -
Pull the new images and recreate the containers:
Terminal window docker compose -f docker-compose.prod.yml up -d --pull always -
Check everything is healthy:
Terminal window docker compose -f docker-compose.prod.yml ps
That’s the happy path. If a container comes back unhealthy or looks stuck on the old version, read the next section — it’s almost always this.
Trap: --pull always won’t fix a stuck container
Section titled “Trap: --pull always won’t fix a stuck container”Force a clean recreation with an explicit down first:
docker compose -f docker-compose.prod.yml downdocker compose -f docker-compose.prod.yml up -d --pull alwaysdown removes the containers and the network but keeps all your data — your
accounts are untouched.
Start fresh
Section titled “Start fresh”Throw everything away — accounts, state, cache — and bring the stack back up empty:
docker compose -f docker-compose.prod.yml down -vdocker compose -f docker-compose.prod.yml up -d --pull alwaysWhen something is still off
Section titled “When something is still off”-
Read the real error. A failing health probe tells you nothing; the logs do:
Terminal window docker logs autopilot-apidocker logs autopilot-bot -
macOS / Windows — re-check Host networking. If the API never reaches healthy after an update, make sure Host networking is still enabled (Docker Desktop → Settings → Resources → Network). The stack relies on it — see Images & networking.
Still stuck? Head to Troubleshooting.