Can't complete brewblox setup - docker error


#1

So I followed the instructions from:
https://brewblox.netlify.com/user/startup.html#step-3-connect-to-the-raspberry-pi
And when I do step 5 basically this is what I get for a response:

Please press ENTER when your Spark is connected over USB
The following shell commands will be used:

 docker-compose down
 docker pull brewblox/firmware-flasher:rpi-develop
 docker run -it --rm --privileged brewblox/firmware-flasher:rpi-develop trigger-dfu
 sleep 2
 docker run -it --rm --privileged brewblox/firmware-flasher:rpi-develop flash
 sleep 5
 docker run -it --rm --privileged brewblox/firmware-flasher:rpi-develop flash-bootloader

Press ENTER to continue, Ctrl+C to cancel

Running command:
docker-compose down

ERROR: Couldn’t connect to Docker daemon at http+docker://localhost - is it running?

If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

Error: Command ‘docker-compose down’ returned non-zero exit status 1.
pi@Brewpi:~/brewblox $

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.1.113 netmask 255.255.255.0 broadcast 10.0.1.255

I can still access the webpage for the brewpi page the IP on the spark shows 10.0.1.106

installation went fine and I also update PIP to the latest cause it was giving me a note there was a newer version.
Thoughts, let me know how I can help troubleshoot this, I’m sure it’s simple I just don’t know. TIA.


#2

It looks like you don’t have docker installed. Did step 4 complete successfully and did you reboot afterward?

For reference, this is the content of the install script:
https://brewblox.netlify.com/install

You can try running it again so check if it had errors:

curl -sSL https://brewblox.netlify.com/install > install.sh
bash ./install.sh

#3

so i re-ran it again (honestly 3rd time I did it and it said Docker was already installed and skipped it, but this time I said NO to using sudo for the docker commands and that part worked… but as it was going through the process I get this error part:

Creating network “brewblox_default” with the default driver
Creating brewblox_traefik_1 … error
Creating brewblox_datastore_1 …

ERROR: for brewblox_traefik_1 Cannot start service traefik: driver failed programming external connectivity on endpoint brewblox_traefik_1 (bc317d70d482e661bc1389f83145b0a89cad43b895c3159f1aa2b26ed9de8679): Bind for 0.0.0.0:80 failed: portCreating brewblox_datastore_1 … done

ERROR: for traefik Cannot start service traefik: driver failed programming external connectivity on endpoint brewblox_traefik_1 (bc317d70d482e661bc1389f83145b0a89cad43b895c3159f1aa2b26ed9de8679): Bind for 0.0.0.0:80 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

Error: Command ‘docker-compose up -d datastore traefik’ returned non-zero exit status 1.

Here is status from the Menu option:
Name Command State Ports

brewblox_datastore_1 tini – /docker-entrypoint … Up 4369/tcp, 5984/tcp, 9100/tcp
brewblox_eventbus_1 docker-entrypoint.sh rabbi … Up 25672/tcp, 4369/tcp, 5671/tcp, 5672/tcp
brewblox_history_1 python3 -m brewblox_history Up 5000/tcp
brewblox_influx_1 /entrypoint.sh influxd Up 8086/tcp
brewblox_mdns_1 python3 -m brewblox_mdns Up
brewblox_spark_1 python3 -m brewblox_devcon … Up 5000/tcp
brewblox_traefik_1 /traefik -c /config/traefi … Exit 128
brewblox_ui_1 nginx -g daemon off; Up 80/tcp

This is the error I got when doing option 6 for connect to wifi
ERROR: for brewblox_ui_1 Driver overlay2 failed to remove root filesystem 18fb754f515b0742d2f0c4ff87f11f7551b1c3061799197b4c0942ae44133c72: remove /var/lib/docker/overlay2/b11a5653bfea5741de50d76f0bec48ab542617ec35abcfb2696871cccdd22c59-init/merged/run: directory not empty
Removing network brewblox_default

Here is a warning from the process as well:
WARNING: Network brewblox_default not found.


#4

It sounds like you already had something running on port 80.
You can find out what with lsof -i :80

Are you installing this on a freshly installed Raspbian Lite?


#5

yes its fairly fresh - its been sitting on the SD card for months after I upgraded the FW to 0.5.10 and havent done anything with it since. - currently that command doesnt work so im troubleshooting something similar for it?


#6

it doesn’t show anything for that port being used:

Creating brewblox_traefik_1 … error

Creating brewblox_datastore_1 … done
aefik_1 (07f723524859f818be21fa70a9f838cdb3b87cb56f06e6500470519628cffa94): Bind for 0.0.0.0:80 failed: port is already allocated

ERROR: for traefik Cannot start service traefik: driver failed programming external connectivity on endpoint brewblox_traefik_1 (07f723524859f818be21fa70a9f838cdb3b87cb56f06e6500470519628cffa94): Bind for 0.0.0.0:80 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

Error: Command ‘docker-compose up -d datastore traefik’ returned non-zero exit status 1.
pi@Brewpi:~/brewblox $ lsof -i :80
pi@Brewpi:~/brewblox $


#7

I don’t know why docker isn’t working as expected, but I think the quickest way to get up and running is to flash raspbian to the SD card and start fresh. I know that some time ago there was a raspbian version on which docker was buggy.


#8

And sudo lsof -i :80?


#9

pi@Brewpi:~/brewblox $ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 844 root 4u IPv6 11949 0t0 TCP *:http (LISTEN)

Dumb question is I don’t know how to fix/adjust this so there isn’t anymore errors… besides the ground 0 option which I would greatly like to avoid.


#10

You can try killing and removing all docker containers.
But why this happened in the first place remains unresolved.

Why is starting from scratch a big deal? Seems like the only step you need to redo is flashing the SD card and running our install script.


#11

Cause last time I did this I had to install Kivy, a virtual keyboard, and modify a file for my specific touch screen to work. But as you elude to this being the best option then so be it, Just a bummer, and time…


#12

Ah I didn’t remember your special touch screen.
Then first try running a ‘sudo apt update && sudo apt dist-upgrade’ and try removing and reinstalling docker.


#13

ok i ran your update and removed docker, now running your install commands for brewblox and it asked if I wanted to install docker I said Yes… so its trying now- Ill keep you posted - thanks so much for your help!

looks like same error:
Creating network “brewblox_default” with the default driver
Creating brewblox_traefik_1 … error
Creating brewblox_datastore_1 …

ERROR: for brewblox_traefik_1 Cannot start service traefik: driver failed programming external connectivity on endpoint brewblox_traefik_1 (7e181fbb0a21fdeec64737b2b9474730e7cc605586068e97d1249eeb374b51b2): Bind for 0.0.0.0:80 failed: port is alreadCreating brewblox_datastore_1 … done

ERROR: for traefik Cannot start service traefik: driver failed programming external connectivity on endpoint brewblox_traefik_1 (7e181fbb0a21fdeec64737b2b9474730e7cc605586068e97d1249eeb374b51b2): Bind for 0.0.0.0:80 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

Error: Command ‘docker-compose up -d datastore traefik’ returned non-zero exit status 1.
pi@Brewpi:~/brewblox $ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 1209 root 4u IPv6 13237 0t0 TCP *:http (LISTEN)


#14

This will stop and remove all docker containers:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

If the port is still in use after that, I don’t know that that docker-pr process is.


#15

ok So basically I had to do the following in combination:
dpkg -l | grep docker
sudo apt remove docker-ce -y
sudo apt remove docker-ce-cli -y
sudo apt remove docker-engine -y
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Then - “sudo reboot” then i re-ran your script and it seemed to have worked, there were a few errors, but I was still able to flash the firmware and register it with the wifi.

I put in the IP address and I see this:
Your BrewBlox Spark is online but it does not run it’s own web server. Please install a BrewBlox server to connect to it using the BrewBlox protocol.

I should also add, that I do NOT have web access using the Portainer setup to look at the docker GUI using:
https://wiki.brewpi.com/getting-started/raspberry-pi-docker-install


#16

Don’t use the BrewPi Wiki to find information about how to deploy BrewBlox.
BrewBlox will replace everything that was used in BrewPi.

We removed portainer from the default install. If you decide you want to have it, please use a port other than 9000.

That is because you are entering the IP address of the BrewPi Spark instead of the IP address of the raspberry pi. This is just the Spark telling you that, but clearly we need to rephrase it.


#17

ok so this works:
http://10.0.1.113:9000/#/dashboard

But There isn’t the web dashboard for the brewblox, its not the IP of the spark which is .106
I’m sure it is something very simple, and I do apologize.

I feel like I’m really close so I can start plugging things in to work on labeling the sensors and stuff, my control panel is almost done - I think friday, then Ill build a visio diagram of the wiring for display as well.


#18

Why are you looking at port 9000?

What’s do you find here?
https://10.0.1.113 ?


#19

nothing - which is the part I dont understand. the Port 9000 page shows the portainer portion but nothing is displayed with the regular IP


#20

Please remove portainer.
Is it still in your docker-compose.yml file?

Run docker-compose down, and make sure your compose file looks like this:

Portainer seems to interfere with docker-proxy and https in some way, because they both use port 9000.