Skip to content

Improve the documentation and key order in deploy.yml #1532

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

mrj
Copy link

@mrj mrj commented Apr 29, 2025

The big advantage of Kamal is its dramatic reductions in server preparation and dependency hell through its use of containers, while avoiding the expense of cloud deployment. It is however a steep learning curve for someone coming from uncontainerised deployment. I've had over a week of struggle to get my first Kamal deploy working. This PR is an attempt to make it easier for those who follow to get up to speed by dramatically increasing the documentation in the Kamal deploy.yml file (which eventually gets worked up to a Rails template), and to change its key order to a more logical and less error-prone sequence.

I've also adjusted the spacing before commented-out keys to make it less likely that uncommenting them puts them at the wrong YAML level, which allows one space to cause severe problems.

Because when deploying my app I used the deploy.yml template generated by Rails 8.0.1, the suggested image value was my-image, which confused me because, in every case I've seen, this is of the form a/b. I see that this example has already been changed to my-user/my-app, which I haven't touched but have better documented. But it's still my-image on the website docs.

Although I've learned much over the past week, I'm no Kamal expert, so this PR needs to be reviewed for anything false or unclear. But I'm unapologetic about the amount of comments I've added. Every word would have helped speed my understanding and deployment. It's common for experts to regard as obvious things that naive users need to know.

I know there are many more comments in the configuration docs in the source, but deploy.yml should be all that most users should see and need, plus I've better documented all the basic settings.

A call-out to this blog post for bootstrapping my understanding.

I want to help Kamal reach its potential for extremely rapid, flexible, and cost-effective deployments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant