Kamal is a great utility for deploying your application to a server. It can handle many different kinds of use cases. However, there is some disconnect on how to use it within a CI/CD pipeline. In this episode, we'll look at deploying a Rails 7.1 application with SQLite to a virtual machine using Kamal within GitHub Actions.
Continuing on from the previous episode, we look at creating a Docker Swarm cluster and using Traefik to load balance and route requests to various applications. Using this and CloudFlare proxies, we're able to create and deploy hobby applications in minutes.
In this episode, we look at setting up our Campfire instance to be deployable with Kamal instead of the Once CLI. This has a few benefits over the standard deployment mechanism if you are going to be tweaking and making your own changes to the Campfire code. We'll also look at taking in the incoming changes from Once to rebase into our Kamal setup.