What did I get myself into?

Wow, so I have no programming experience and no where on BrewPis website says I have to do all of this. Lets just say ive spent 3 days of trying to figure out what to do and so far cant even get my Spark 3 out of Hardware test as no where on the wiki talks about it! I do what the different sections tell me from installing PHP but when I try to use the commands within the Wiki, I get error messages. Right now I just want my basic investment to work. Ive used Portainer and see my device but thats as far as it goes because it says my spark 3 should be blinking and other things and its not. Overall this has been a nightmare when it should make my brewing process/sessions more enjoyable!

Where are the EASY instructions to get my Spark 3 out of Hardware mode. Going into the brewpi console doesnt work nor will it connect to anything via the raspberrypi.local so somethin is off or the Wiki is and its frustrating!

Installing PHP should not be part of the install process if you followed this guide:

https://wiki.brewpi.com/getting-started/raspberry-pi-docker-install

When you follow that guide, then you’ll go out of hardware test mode when you apply fridge/beer constant mode.

There was a bug with the script start button that I have just fixed. If you were using docker already, you should update for a fix.

The start button should work again after you update.
Please go to the brewpi container in portainer and click ‘recreate container’ and leave ‘pull latest image’ checked.

Alright so I have done a lot of this previously and it never would let me connect to the brewpi or so it would say in red letters at the top of the screen. So I started trying to rm the different things off the docker to try and refresh things and now have gotten myself stuck with brewpi not having any ports as this is my error message ’ Error response from daemon: driver failed programming external connectivity on endpoint brewpi (911c0f715b64b2154d7d6280412586712a115f33ff6614cf704baab21661bcf9): Error starting userland proxy: listen tcp 0.0.0.0:80: listen: address already in use.’ and cannot get brewpi to accept ports 80 again. I had it setup like the picture shows but have never gotten the brewpi to read my raspberry pi to where I can get the brewpi to do anything. Still is at the hardware sreen with no IP address or anything showing.

The step you missed is setting up WiFi on the Spark, if it doesn’t display an IP address on the screen. You should use the Particle phone app to set up your WiFi credentials on the Spark. It will then show the IP address on the screen.

If you say you have tried many things that might have made things worse, I think the best approach to guarantee that you have a correctly configured system is to re-install raspbian, then deploy the docker container again as described in the wiki.

The error you get here is because something is already running on port 80. I think this is because you installed apache on the pi. You could uninstall that, but a fresh start will be best.
This user had the same problem: Frustrated - Brewpi container will not run

Hi Elco,
When I “recreate container” with ‘Pull the latest image’ I receive an error " Failure 'Unable to remove containers" and both containers are deleted from the container list?

Please advise :slight_smile:


BR Ken

Alright, so I went ahead and started over. I have both containers in Portainer and have gotten the brewpi interface to open. As for getting my device out of test mode, I have not found a solution. I have been connecting my Spark via a USB connection into my Raspberry PI and the screen is on. I have tried to go to the bottom of the BrewPi page to the OFF tab but when I click apply nothing happens. If I go into the device configuration in the maintenance tab and refresh, nothing happens. In my BrewPi screen, it does say script running but then Error: Connection to BrewPi Spark interrupted. is in red letters across the top of the screen which I dont understand either.

Inside the Logs, this error keeps happening.
rror opening serial: [Errno 2] could not open port : [Errno 2] No such file or directory: ‘’
Mar 29 2018 18:03:05 Warning: Cannot receive version number from controller. Check your port setting in the Maintenance Panel or in settings/config.cfg.

so im at a stuck point again as I am not sure what to do next. Did I miss a step as far as not letting my Raspberry pi recognize it via USB? But then it wouldnt have power I wouldnt think. I was going to do Wifi setup but figure USB would just be easier and not sure where ive messed up.

Nothing will happen on the controller as long as you do not have a connection to it.
Did you run the container with access to USB devices by including the --privileged flag?
If you did not, remove the old container and start a new one with that flag by running these commands:

docker stop brewpi
docker rm brewpi
docker run -d --name brewpi -p 80:80 -p 81:81 --privileged -v ~/brewpi-data:/data -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime --restart always brewpi/brewpi-raspbian

Yes sir, I had first added in the line for the wifi section to open sockets 80 and 81. Then realized it was for wifi so removed the container and added in this line and still at the same spot. Now the 1 thing I hope I did correctly as where the line is located and then what the pictures shows is kind of confusing. But I went into the endpoints section in portainer and made the Primary for my Portainer in the ip address to be raspberrypi.local and then added in the container for brewpi. But still cant get the brew pi to be controlled via the webinterface with regards to it actually speaking with the spark and allowing me to do anything with it. Ill put this code in again and do these steps when I get home, but pretty sure as i was reading through it that I had did all of this correclt.

If you run:

ls /dev/ttyACM*

on the raspberry pi, do you see a device like ttyACM0?

If you don’t, than that’s where the problem is, the pi doesn’t even see it an therefore the docker containers can’t either. This is almost always caused by a bad USB cable.