[β β β β β β β β β β ] Run the same app on several machines? This script finds every copy by itself, updates them one by one, and undoes any update that fails β built for FreeLLMAPI gateways on Proxmox, works for anything installed from Git
BCBC-FreeLLMAPI-Rolling-Updater-20260912.zip (7.1 KB) β the script, the README, the ticket from the verified run, the SHA-256.
Install one app on eight machines and updating means a list of eight. Add a ninth, forget the list, and that one quietly stays old. This script keeps no list.
Each copy was installed from Git, so it carries its source address. The script opens every running container on the Proxmox host, reads that address, and updates only the ones that say FreeLLMAPI. No container numbers typed anywhere.
every running container βββΆ source address says FreeLLMAPI? βββΆ has local edits? leave it alone.
β
βββββββββββββββββββββββββββββββββββββββββββββ
βΌ
save a snapshot to return to βββΆ update the code βββΆ install βββΆ build βββΆ start the app
β
βΌ
service up? Β· port answers? Β· "I'm alive" page answers? βββΆ β
next container
βββΆ β stop, return this one to its snapshot
One container at a time, so the other copies keep working while one updates.
The verified run found eight gateways on its own and finished all eight. Each prints its old and new version, for example:
PASS: CT 132 - bcbc-gateway-alt-132
OLD: b235b7e8β¦ NEW: 65c7d2f9β¦ HTTP health: PASS /livez
For your own app: change two lines, the source address it matches and the βIβm aliveβ page it checks. Everything else stays.
Two rules built in: a container with hand-made changes is skipped, never overwritten. Dependencies update through the normal install, never through a forced audit fix.
The router this maintains, and how people here chain free providers through it: Free Token Limits.
Let the updater find its own copies. A list is the copy you forget.
Credits: Mikey_LikesIT + ChatGPT
!