@karolherbst most docker-based ci systems (woodpecker, etc) won't allow you to start a whole docker compose out of the box. You would need to set up docker-in-docker or else do some hack like allowing the ci container access to the parent docker machine.
If you want a minimal solution to this, a scheduled task that pulls the repo and runs the build script if there is a new commit sounds good.
In terms of a proper ci system that has VM build agents, I'm not sure what to recommend. All the "modern" or "minimal" ones seem to use docker... So.... Jenkins ? Lol
@karolherbst yeah that works. If its stateless, then rollback should be fine.
@forestjohnson maybe it would be better to update whenever a new version is there and just verify it works and if not, just roll it back?
Could be easier to do, because then I just need to target the live system with some curl commands to check if everything comes up and if not, I just roll it all back.
There is no state anyway, because the docker-compose I have here is simply deploying reverse nginx proxies. But my Vaultwarden is proxied there so I don't want it to break randomly