Docker Compose/SSH and some custom GitHub Actions to run DB Migrations is simple, straightforward and was more than enough to manage CI deployments all our Apps [1].
Although we're currently migrating to Kamal [2] to take advantage of its nicer remote setup, management and monitoring features.