Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
getting-started:raspberry-pi-docker-install [2018/03/13 20:32]
Elco Jacobs [Deploy the BrewPi container]
getting-started:raspberry-pi-docker-install [2019/03/16 16:51] (current)
99.93.141.76 Changed step for updating the packages on Raspian.
Line 57: Line 57:
 ------------- -------------
 ==== Find the Raspberry Pi on your local network ==== ==== Find the Raspberry Pi on your local network ====
-It might not be necessary to find and remember the IP-address of your Raspberry Pi. It will register itself on the network as ''​rasbperrypi.local''​. This is provided by the package ''​avahi-daemon''​ and it is called Zeroconf.+It might not be necessary to find and remember the IP-address of your Raspberry Pi. It will register itself on the network as ''​raspberrypi.local''​. This is provided by the package ''​avahi-daemon''​ and it is called Zeroconf.
  
 If the .local address doesn'​t work, you can use the app Fing ([[https://​play.google.com/​store/​apps/​details?​id=com.overlook.android.fing|Android]] / [[https://​itunes.apple.com/​gb/​app/​fing-network-scanner/​id430921107|iOS]]). \\  This app can scan your local network for devices. If our Raspberry Pi successfully connected to your network, it should be on the list. Make a note of the IP address. If the .local address doesn'​t work, you can use the app Fing ([[https://​play.google.com/​store/​apps/​details?​id=com.overlook.android.fing|Android]] / [[https://​itunes.apple.com/​gb/​app/​fing-network-scanner/​id430921107|iOS]]). \\  This app can scan your local network for devices. If our Raspberry Pi successfully connected to your network, it should be on the list. Make a note of the IP address.
Line 90: Line 90:
 ==== Configure and install necessary packages ==== ==== Configure and install necessary packages ====
  
-Once logged in, run raspi-config to configure your locale settings and time zone:+Once logged in, run raspi-config to configure your password, ​locale settings and time zone:
 <​code>​ <​code>​
 sudo raspi-config sudo raspi-config
-</​code>​ 
- 
-Next, change the default password for the pi user: 
-<​code>​ 
-passwd 
 </​code>​ </​code>​
  
 Update the packages on the system: Update the packages on the system:
 <​code>​ <​code>​
-sudo apt update & sudo apt dist-upgrade+sudo apt-get update ​&& sudo apt-get dist-upgrade
 </​code>​ </​code>​
  
 Install Docker Install Docker
 <​code>​ <​code>​
-curl -sSL https://get.docker.com ​sh+curl -fsSL get.docker.com ​-o get-docker.sh && sh get-docker.sh
 </​code>​ </​code>​
  
Line 127: Line 122:
 The command to deploy portainer is: The command to deploy portainer is:
 <​code>​ <​code>​
 +docker pull portainer/​portainer
 docker run -d -p 9000:9000 -v /​var/​run/​docker.sock:/​var/​run/​docker.sock --restart always --name portainer portainer/​portainer -H unix:///​var/​run/​docker.sock docker run -d -p 9000:9000 -v /​var/​run/​docker.sock:/​var/​run/​docker.sock --restart always --name portainer portainer/​portainer -H unix:///​var/​run/​docker.sock
 </​code>​ </​code>​
Line 162: Line 158:
  
 <​code>​ <​code>​
-docker run -d --name brewpi -p 80:80 -p 81:81 -v ~/​brewpi-data:/​data -v /​etc/​timezone:/​etc/​timezone -v /​etc/​localtime:/​etc/​localtime --restart always brewpi/​brewpi-raspbian+docker pull brewpi/​brewpi-raspbian 
 +docker run -d --name brewpi ​--privileged ​-p 80:80 -p 81:81 -v ~/​brewpi-data:/​data -v /​etc/​timezone:/​etc/​timezone -v /​etc/​localtime:/​etc/​localtime --restart always brewpi/​brewpi-raspbian
 </​code>​ </​code>​
  
Line 170: Line 167:
 | <​code>​-d</​code> ​                                                              | After starting the container, run it as daemon in the background. ​                                                         | | <​code>​-d</​code> ​                                                              | After starting the container, run it as daemon in the background. ​                                                         |
 | <​code>​--name brewpi</​code> ​                                                   | Name the new container brewpi, modify this you are running multiple brewpi containers. ​                                    | | <​code>​--name brewpi</​code> ​                                                   | Name the new container brewpi, modify this you are running multiple brewpi containers. ​                                    |
 +| <​code>​--privileged</​code> ​                                                    | Run with elevated permissions to access serial ports that are present when the container starts. ​                         |
 | <​code>​-p 80:​80</​code> ​                                                        | Map port 80 of the container to port 80 of the host. <br> If port 80 is in use, use a different port, for example 8000:80. | | <​code>​-p 80:​80</​code> ​                                                        | Map port 80 of the container to port 80 of the host. <br> If port 80 is in use, use a different port, for example 8000:80. |
 | <​code>​-p 81:​81</​code> ​                                                        | Map port 81 of the container to port 81 of the host.                                                                       | | <​code>​-p 81:​81</​code> ​                                                        | Map port 81 of the container to port 81 of the host.                                                                       |
Line 178: Line 176:
  
  
-=== Connecting ​the Spark via USB ===+Please note that you need to have the BrewPi ​Spark connected ​via USB when the container starts for it to be available to the container. 
 +In the web interface, you can select the serial number (for USB) or enter the IP address of the Spark to connect.
  
-If you want to connect to the BrewPi Spark over USB, you need to give the container access to hardware devices. ​The easiest way to do this is to pass the '--privileged' ​flag.+=== Change ​the password for port 81 === 
 +The default login details are username ​''​brewer''​ and password ''​brewpi''​. 
 +To change the password, you can run: 
 +<​code>​ 
 +sudo apt install apache2-utils 
 +sudo htpasswd ​-bc ~/​brewpi-data/​settings/​brewpi.htpasswd username password 
 +</​code>​ 
 +Replace ''​username''​ and ''​password'​' ​with your desired user name and password.
  
 +If you run the command inside your container instead of on the host, the command should be:
 <​code>​ <​code>​
-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+sudo htpasswd ​-bc /data/settings/brewpi.htpasswd username password
 </​code>​ </​code>​
  
-Please note that you need to have the BrewPi Spark connected via USB when the container ​starts ​for it to be available ​to the container.+=== Troubleshooting === 
 +If you get an error about a conflict with an existing container (see below), you can remove ​the old container ​or use another name for the new one. 
 +<​code>​ 
 +docker: Error response from daemon: Conflict. The container name “/​brewpi” is already in use by container “e863…”. You have to remove (or rename) that container ​to be able to reuse that name. 
 +See ‘docker run --help’. 
 +</​code>​
  
 +To remove the existing container named '​brewpi',​ run:
 +<​code>​
 +docker stop brewpi
 +docker rm brewpi
 +</​code>​
  
-=== Connecting ​the BrewPi Spark via WiFi === +To view all containers, run the command below or use portainer. 
- +<​code>​ 
-If you want to connect to the BrewPi Spark via WiFi, no extra docker ​parameters are needed. +docker ​ps -a 
 +</​code>​
  
 ==== Go to the BrewPi web interface and connect to the Spark ==== ==== Go to the BrewPi web interface and connect to the Spark ====
  
 If you didn't change the default port, you can access the BrewPi web interface at [[http://​raspberrypi.local]]. If you didn't change the default port, you can access the BrewPi web interface at [[http://​raspberrypi.local]].
 +
 +Click 'Start script',​ if it isn't already running.
  
 Finally, go to the maintenance panel and fill in the field for connection to let the script know where it can find your BrewPi Spark. Finally, go to the maintenance panel and fill in the field for connection to let the script know where it can find your BrewPi Spark.