Upgrade TRAPPER¶
How you upgrade depends on how you deployed.
Via trapper-setup¶
./profiles/<profile>/stop.sh
docker compose pull
./bin/install-coordinator.sh <profile> --reinstall
systemctl --user restart trapperai-coord-<profile>
./profiles/<profile>/start.sh
./admin.py manage trapper migrate -p <profile>
./admin.py manage trapper-ai-web migrate -p <profile>
stop.sh/start.sh only manage the Docker Compose backbone — the host coordinator is a separate systemd user unit, untouched by either script. This pulls fresh images, reinstalls the coordinator's trapperai-core tool (which doesn't itself restart a running unit, hence the explicit systemctl restart), restarts the Compose stack, and runs Django migrations for both Expert and AI Manager. Skip the coordinator-related lines if you don't run AI inference on this host.
Via the in-tree Expert-only dev setup¶
If you installed with Expert-only development setup:
./stop.sh
./start.sh -pb dev
docker compose exec trapper bash
python /app/trapper-project/manage.py migrate
Verify it worked¶
./profiles/<profile>/ps.sh # trapper-setup — each profile has its own ps.sh, no -p flag needed
# or
./admin.py manage trapper migrate -p <profile> --check # confirm no pending migrations