-
Notifications
You must be signed in to change notification settings - Fork 496
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
Docker won't install on MacOS #432
Comments
Kamal was not designed for deployment on macOS. Only from macOS. |
seems like Kamal needs docker and it is not made to deploy to a MacOS basecamp/kamal#432 (comment)
This seems related to https://github.com/capistrano/sshkit?tab=readme-ov-file#the-command-map, how the SSH session won't have the same Perhaps supporting the
I see how this wouldn't make much sense since this isn't really a supported case. Just leaving my attempts here in case someone else is trying it. I debugged using Line 169 in 69867e2
I found the locally installed kamal in my rbenv gems at SSHKit.config.default_env = { path: "/usr/local/bin:$PATH" } # added this
SSHKit.config.command_map[:docker] = "docker" # No need to use /usr/bin/env, just clogs up the logs This allowed
Later after manually login in docker in that machine it changed to
At this point I googled around these errors and tried to remove the Then I started getting an error
That turned out to be because zsh uses brackets for globs. I ran
Which can also be sorted by a default_env entry
But then leads to further madness as Mac
At this point So in sum I had to:
@dhh would you accept a PR that adds |
@filipesilva Anything that puts us closer to supporting "Kamal deploy to macOS" would be great either as a PR or as a soft fork. |
Enables deploy to MacOS hosts. Will still need further configuration though: - `default_env` needs to be set to a PATH that contains docker and coreutils `cp` - desktop docker config needs to have no `credsStore` - shell needs to be changed to `bash` All this can be done by the user though, whereas passing on `default_env` to SSHKit needed to happen on Kamal. cc @dhh, @HLFH See basecamp#432 (comment) for details.
Enables deploy to MacOS hosts. Will still need further configuration though: - `default_env` needs to be set to a PATH that contains docker and coreutils `cp` - desktop docker config needs to have no `credsStore` - shell needs to be changed to `bash` All this can be done by the user though, whereas passing on `default_env` to SSHKit needed to happen on Kamal. cc @dhh, @HLFH See basecamp#432 (comment) for details.
@filipesilva I have fixed the zsh issue in this PR: #1281. You can probably keep zsh? |
kamal setup
Acquiring the deploy lock...
INFO [9a8f3599] Running docker -v on 192.*******
INFO [9a8f3599] Finished in 0.021 seconds with exit status 127 (failed).
INFO [84e85df9] Running [ "${EUID:-$(id -u)}" -eq 0 ] on 192********
INFO [84e85df9] Finished in 0.024 seconds with exit status 0 (successful).
INFO Missing Docker on 192.. Installing…
INFO [eb976864] Running /usr/bin/env curl -fsSL https://get.docker.com | sh on 192.1*
Releasing the deploy lock...
Finished all in 0.6 seconds
ERROR (SSHKit::Command::Failed): Exception while executing on host 192******: curl exit status: 1
curl stdout: # Executing docker install script, commit: c2de0811708b6d9015ed1a2c80f02c9b70c8ce7b
ERROR: Unsupported operating system 'macOS'
Please get Docker Desktop from https://www.docker.com/products/docker-desktop
curl stderr: Nothing written
I have installed docker desktop manually and docker -v responds with version but still seeing this issue.
ENV- Mac mini M2
The text was updated successfully, but these errors were encountered: