Is it possible to deploy without a docker registry? #510
-
I have a very fast internet connection (> 1Gbit) and the project I work on is very budget sensitive on the hosting side. After some research, it seems to be trivial to "push" a docker image over ssh: docker save app:1.0 | gzip | DOCKER_HOST=ssh://user@remotehost docker load (source) Is it possible to do something similar with Kamal? |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 16 replies
-
Not sure if this is helpful, but another option is installing a docker registry in the machine you are deploying to: It surely adds some complexity though |
Beta Was this translation helpful? Give feedback.
-
This would be nice to have. This was my biggest surprise with Kamal. I was expecting its default to be sans-registry. |
Beta Was this translation helpful? Give feedback.
-
Just to add to going the route of managing as an accessory with Kamal. The registry container is pretty flexible with how you want to host it and there's a bunch of documentation around it too. Kamal is great at booting up existing container images and managing the lifecycle of those. https://distribution.github.io/distribution/about/deploying/ You'd want to ensure authentication is in place and preferably it's firewalled appropriately as well, something like this though with the additional ENV options in place for auth.
|
Beta Was this translation helpful? Give feedback.
-
There is a nice blog post about how to host your own registry here https://nochlin.com/blog/host-your-own-docker-registry-with-kamal-2?utm_source=shortruby&ref=shortruby.com |
Beta Was this translation helpful? Give feedback.
-
During the RR2024 event in October 2024, @djmb mentioned it was coming. Any ETA? ... Hate the registries |
Beta Was this translation helpful? Give feedback.
-
yeah, it will be nice if the registry option can omitted completely e.g bundling the docker image into a tar file then using rsync to upstream to the server and rebuilding the image on the server. only question is how long that would take. at the moment -- I use rsync for my deploys. |
Beta Was this translation helpful? Give feedback.
-
I've stumbled upon this thread while looking into Kamal to replace/unify my current shell script deployments. I have some very simple dockered apps that run on single machines. Those machines do not have access to the repository or its registry. Just as food for thought, here is what I do:
As usual, there are quite some tradeoffs. Most of them check into the "pro" column for me:
|
Beta Was this translation helpful? Give feedback.
-
The Kamal team is working towards this. I have noticed them mention this a few times. Here's the branch I found if you want to see in which direction it's going. It's not official so treat it accordingly. |
Beta Was this translation helpful? Give feedback.
Not sure if this is helpful, but another option is installing a docker registry in the machine you are deploying to:
https://distribution.github.io/distribution/
It surely adds some complexity though