Resolving the Docksal Failed starting the proxy service Error

I’m working right now to setup a Docksal site for a project I’m auditing. But, of course, I haven’t used Docksal in ages (and I got some fun errors getting it to work). I wanted to document the problem and the fix just in case you run into the same issue!

What is Docksal?

Docksal is a tool for defining and managing development environments. It uses Docker to create fully containerized environments, along with VirtualBox to support macOS and Windows. Its main feature is the inclusion of a command-line tool called `fin` that simplifies the management of all components

https://www.drupal.org/project/docksal

The Issue

While running fin init / fin start I’m seeing errors like:

Configuring NFS shares...
NFS shares are already configured
Resetting Docksal system services...
 * proxy
docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:80: bind: address already in use.
 ERROR:  Failed starting the proxy service.

I did some Googling for this and did come across some other posts on this (like this one) but based on the comment history and discussion, it should have been resolved a year ago.

One of the suggested commands to run was:

sudo lsof -n -P -i :80 | grep LISTEN

The result of this shows me that I do have a couple of things running on TCP port 80. Note that I did ensure that my Lando, Drupal VM, etc. containers weren’t running (and I still had this problem).

sudo lsof -n -P -i :80 | grep LISTEN
httpd   159 root    4u  IPv6 0xa9cebe760269207b      0t0  TCP *:80 (LISTEN)
httpd   382 _www    4u  IPv6 0xa9cebe760269207b      0t0  TCP *:80 (LISTEN)

The Fix

Thanks to my colleague Beverly, I realized that Apache was running on my Mac by default and taking up port 80 with the httpd service. All I had to do was stop that with:

sudo apachectl stop

Re-running the sudo lsof command came back with nothing (so that fixed it). From there, I could run fin start or fin init without errors.

Related Content