Anybody tried running puppeth on Mac (Sierra or higher) with localhost as the servers with any success? Please share it here, because I always get err="docker configured incorrectly: bash: docker: command not found\n"

Docker version:
 Version:   17.12.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    c97c6d6
 Built: Wed Dec 27 20:03:51 2017
 OS/Arch:   darwin/amd64

  Version:  17.12.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   c97c6d6
  Built:    Wed Dec 27 20:12:29 2017
  OS/Arch:  linux/amd64
  Experimental: true

$ ./puppeth -v
puppeth version 0.0.0

I tried this with Linux VM and it works ok (after adding the user logged on into docker group). But for Mac, it always produce that docker not found. While tested with ssh localhost, then run docker it's there.

Please share and help how to do this on Mac OS. Thanks.

1 Answer 1


I think I found the root cause to this problem. Puppeth internally uses a ssh connection to the machine where you want to run things; localhost in my case.

The SSH daemon is compiled with a default path. If you ssh to a machine with a specific command (other than a shell), you get that default path. This does not include /usr/local/bin for example, where docker lives in my case.

I found the solution here: https://serverfault.com/a/585075. On the machine where you want Puppeth to deploy things, you:

  • edit /etc/ssh/sshd_config and make sure it contains PermitUserEnvironment yes (you need to edit this with sudo)
  • create a file ~/.ssh/environment with the path that you want, in my case: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

When you now run ssh localhost env you should see a PATH that matches whatever you put in ~/.ssh/environment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.