Skip to content

Updating and health checks

Every release publishes a versioned image to ghcr.io/sm-steel/nani-pix-bot. See the Releases page for what changed, or the What’s new page here.

How you roll updates out is up to you. Any of these work:

  • docker compose pull && docker compose up -d
  • a small script or your own CI/CD
  • a tool such as Watchtower

Nani Pix updates her database by herself on every start, so there’s no migration step to remember.

You can restart or update Nani Pix at any time, even mid-round. Everything the game is waiting on (stage timers, reminders, turn windows, an open vote) is kept in the database and picked up again on startup. Anything that fell due while she was down happens right after she starts.

Nani Pix’s container has a health check that watches for successful contact with Telegram, so it’s marked unhealthy if she stops receiving updates even though the process is still running. Docker checks every 30 seconds and marks the container unhealthy after three checks in a row find no contact with Telegram for 90 seconds.

restart: unless-stopped in docker-compose.yml already recovers from most failures. The bot service also carries autoheal labels for anyone running a watcher such as docker-autoheal, which restarts unhealthy containers. Without such a watcher, the labels do nothing.