BrewPi docker issue

No idea what a docker is, I’ve just successfully followed the wiki and had the docker version of Brewpi running for a week or so.
Then after a power failure, I’m not able to access the brewpi web interface anymore, nor the portainer.

The Pi is up and running, I can ssh to it with no problem.

Tried to play with the docker command line interface, but I’m not familiar with this docker thing, so I really don’t know what I’m doing (I hate to have to learn new geek stuff just to ferment a brew!!).

Anyway these are the results of some random commands I tried:

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

$ docker start portainer
Error response from daemon: grpc: the connection is unavailable
Error: failed to start containers: portainer

$  docker start brewpi
Error response from daemon: grpc: the connection is unavailable
Error: failed to start containers: brewpi

$ docker top brewpi
Error response from daemon: Container 434939d6aeb6d37b0d63ddb767dc1c43ca2757900e7f6a44f4e6156ee003e43c is not running

No idea of what is going on, I don’t want to lose my brewpi configurations and restart everything from scratch, please help

It looks like the docker deamon is not running. I have no idea why though. The Internet told me this might help:

systemctl restart docker

Unfortunately, it doesn’t help…

$ systemctl restart docker
Failed to restart docker.service: Access denied

$ sudo systemctl restart docker
  $

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

$ docker start brewpi
Error response from daemon: grpc: the connection is unavailable
Error: failed to start containers: brewpi

$ docker start portainer
Error response from daemon: grpc: the connection is unavailable
Error: failed to start containers: portainer

It seems a docker daemon is running, though

$ ps -ef|grep docker
root      4229     1  1 22:29 ?        00:00:02 /usr/bin/dockerd -H fd://
pirate    4523  3052  0 22:33 pts/0    00:00:00 grep docker

I don’t know why docker isn’t running. Maybe the power outage caused corruption on the SD card?

I think the quickest way to resolve get it back up is to back up your data from ~/brewpi-data and do a fresh install of hypriot.

Afterwards, copy the backup back. The new container will use it.

You could try
sudo systemctl stop docker
sudo systemctl status docker
Assuming that comes back saying that docker is not active
sudo systemctl start docker
and then check the status again.

Thanks for the suggestion.
No way though

Followed Elco’s suggestion, backed-up /brewpi-data and reflashed the SD

This error (usually) comes from docker being starved of system resources (memory). Again, -usually- restarting docker (via the methods listed above) will fix the issue as it is docker itself that consumes a lot of those resources. The Pi does not have a lot of resources to start with, so this scenario is easy to get into on it. For others tracking this thread, it would be interesting in the future to ask users to note things like other processes running, top, free, etc, to see what may be sucking up those resources and if it is related to the implementation (ie, the container got into a bad state and sucked up memory when trying to restart), or just bad luck on this instance with something hanging,

Out of curiousity, did rebooting the Pi again fix it, or was that not tried?

I’m using a PI3, clean HypriotOS installation with only BrewPi and Portainer running. SD card is 8Gb.
Rebooting PI/restarting docker didn’t help.

Data corruption due to the power outage seems to me the best bet in this case.

I ran into this issue a couple of days ago after installing hypriot and brewpi on a 16GB card. The container was hosed so I launched a new one and picked right up where I left off.

I’ll monitor this for a week or two since I’ve got a batch just put in the fermenter.

Loving the docker install!

Atcal, just out of curiosity, is there any reason why you are running a docker within your Pi? I too run BrewPi in a docker but I’m running my docker on my Fedora PC so I don’t even need a RaspberryPi. If you just run BrewPi on the Pi without the docker you will not run into these resource issues. Unless I’m missing something it seems like an easy fix.

@Surfking55:

Well, I used to have a “classic” BrewPi installation for a couple of years.
When I read Elco’s post presenting the new docker setup as the future of the application, I simply decided to give it a shot (as I had to update to the new revised interface anyway).

I don’t remember any warning about high resource consumption in Elco’s post. Being the BrewPi project so bounded to the Pi, I don’t believe docker could be used as the future standard BrewPi setup if it can’t be safely run on Pi’s.

Honestly I don’t believe it was a resource problem, as it happened just after a power shortage, I still believe it was a matter of data corruption on the SD card.

Now I re-installed the docker environment and BrewPi+ Portainer have been happily running for more than a week (fingers crossed).
If I’ll run into further troubles, I’ll revert to classic, as you suggested.