Donal McBreen bade195e93 Redefine what the "latest" container means
Currently the latest container is the one that was created last. But if
we have had a failed deployment that left two containers running that
would not be the one we want. The second container could be in a
restart loop for example.

Instead we want the container that is running the image tagged as
latest. As we now tag as latest after a successful deployment we can
trust that that is a healthy container.

In the case that there is no container running the latest image tag,
we'll fall back to the latest container.

This could happen if the deploy was halted in between the old container
being stopped and the image being tagged as latest.
2024-03-29 08:51:50 +00:00
2024-03-20 10:23:02 +00:00
2023-08-22 08:24:31 -07:00
2024-01-09 11:13:11 +00:00
2023-08-22 08:24:31 -07:00
2023-08-22 08:24:31 -07:00
2023-08-22 08:24:31 -07:00
2024-01-09 08:21:10 -08:00
2023-01-07 15:32:25 +01:00
2023-09-16 16:02:54 -07:00

Kamal: Deploy web apps anywhere

From bare metal to cloud VMs, deploy web apps anywhere with zero downtime. Kamal has the dynamic reverse-proxy Traefik hold requests while a new app container is started and the old one is stopped. Works seamlessly across multiple hosts, using SSHKit to execute commands. Originally built for Rails apps, Kamal will work with any type of web app that can be containerized with Docker.

➡️ See kamal-deploy.org for documentation on installation, configuration, and commands.

Contributing to the documentation

Please help us improve Kamal's documentation on the the basecamp/kamal-site repository.

License

Kamal is released under the MIT License.

Description
Deploy web apps anywhere.
Readme 4 MiB
Languages
Ruby 98.1%
Dockerfile 1%
Shell 0.9%