You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Docker stack for getting started on IoT on the Raspberry Pi.
29
41
30
42
This Docker stack consists of:
31
-
* Node-RED
32
-
* Grafana
33
-
* InfluxDB
34
-
* Postgres
35
-
* Mosquitto mqtt
36
-
* Portainer
37
-
* Adminer
38
-
* openHAB
39
-
* Home Assistant (HASSIO)
40
-
* zigbee2mqtt
41
-
* Pi-Hole
42
-
* TasmoAdmin (parial wiki)
43
-
* Plex media server
44
-
* Telegraf (wiki coming soon)
43
+
44
+
* Node-RED
45
+
* Grafana
46
+
* InfluxDB
47
+
* Postgres
48
+
* Mosquitto mqtt
49
+
* Portainer
50
+
* Adminer
51
+
* openHAB
52
+
* Home Assistant (HASSIO)
53
+
* zigbee2mqtt
54
+
* Pi-Hole
55
+
* TasmoAdmin (parial wiki)
56
+
* Plex media server
57
+
* Telegraf (wiki coming soon)
58
+
* RTL_433
45
59
46
60
In addition, there is a write-up and some scripts to get a dynamic DNS via duckdns and VPN up and running.
47
61
@@ -58,60 +72,78 @@ The container will fail if you try to run the docker and native vesions as the s
58
72
For those looking for a script that installs native applications check out [Peter Scargill's script](https://tech.scargill.net/the-script/)
59
73
60
74
# Tested platform
75
+
61
76
Raspberry Pi 3B and 4B Raspbian (Buster)
62
77
63
78
## Older Pi's
79
+
64
80
Docker will not run on a PiZero or A model 1 because of the CPU. It has not been tested on a Model 2. You can still use Peter Scargill's [script](https://tech.scargill.net/the-script/)
65
81
66
82
## Running under a virtual machine
83
+
67
84
For those wanting to test out the script in a Virtual Machine before installing on their Pi there are some limitations. The script is designed to work with Debian based distributions. Not all the container have x86_64 images. For example Portainer does not and will give an error when you try and start the stack. Please see the pinned issue [#29](https://github.com/gcgarner/IOTstack/issues/29), there is more info there.
68
85
69
86
# Feature Requests
87
+
70
88
Please direct all feature requests to [Discord](https://discord.gg/W45tD83)
71
89
72
90
# Youtube reference
91
+
73
92
This repo was originally inspired by Andreas Spiess's video on using some of these tools. Some containers have been added to extend its functionality.
74
93
75
94
[YouTube video](https://www.youtube.com/watch?v=JdV4x925au0): This is an alternative approach to the setup. Be sure to watch the video for the instructions. Just note that the network addresses are different, see note below
76
95
77
96
# Download the project
78
97
79
-
1. On the lite image you will need to install git first
80
-
```
98
+
1.On the lite image you will need to install git first
Due to some script restraints, this project needs to be stored in ~/IOTstack
88
111
89
-
3. To enter the directory run:
90
-
```
112
+
3.To enter the directory run:
113
+
114
+
```bash
91
115
cd~/IOTstack
92
116
```
117
+
93
118
# The Menu
119
+
94
120
I've added a menu to make things easier. It is good to familiarise yourself with the installation process.
95
121
The menu can be used to install docker and build the docker-compose.yml file necessary for starting the stack. It also runs a few common commands. I do recommend you start to learn the docker and docker-compose commands if you plan on using docker in the long run. I've added several helper scripts, have a look inside.
96
122
97
123
Navigate to the project folder and run `./menu.sh`
98
124
99
125
## Installing from the menu
126
+
100
127
Select the first option and follow the prompts
101
128
102
129
## Build the docker-compose file
130
+
103
131
docker-compose uses the `docker-compose.yml` file to configure all the services. Run through the menu to select the options you want to install.
104
132
105
133
## Docker commands
134
+
106
135
This menu executes shell scripts in the root of the project. It is not necessary to run them from the menu. Open up the shell script files to see what is inside and what they do.
107
136
108
137
## Miscellaneous commands
138
+
109
139
Some helpful commands have been added like disabling swap.
110
140
111
141
# Running Docker commands
142
+
112
143
From this point on make sure you are executing the commands from inside the project folder. Docker-compose commands need to be run from the folder where the docker-compose.yml is located. If you want to move the folder make sure you move the whole project folder.
113
144
114
145
## Starting and Stopping containers
146
+
115
147
to start the stack navigate to the project folder containing the docker-compose.yml file
116
148
117
149
To start the stack run:
@@ -125,14 +157,17 @@ The first time you run 'start' the stack docker will download all the images for
125
157
The 'docker-compose down' command stops the containers then deletes them. To stop the container but not delete it, run 'docker-compose stop'.
126
158
127
159
## Persistent data
160
+
128
161
Docker allows you to map folders inside your containers to folders on the disk. This is done with the "volume" key. There are two types of volumes. Modification to the container are reflected in the volume.
129
162
130
163
# See Wiki for further info
131
-
[Wiki](https://github.com/gcgarner/IOTstack/wiki)
132
164
165
+
[Wiki](https://github.com/gcgarner/IOTstack/wiki)
133
166
134
167
# Add to the project
168
+
135
169
Feel free to add your comments on features or images that you think should be added.
0 commit comments