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
Copy file name to clipboardExpand all lines: docs/Containers/AdGuardHome.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@
9
9
10
10
AdGuard Home and PiHole perform similar functions. They use the same ports so you can **not** run both at the same time. You must choose one or the other.
Copy file name to clipboardExpand all lines: docs/Containers/Blynk_server.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
This document discusses an IOTstack-specific version of Blynk-Server. It is built on top of an [Ubuntu](https://hub.docker.com/_/ubuntu) base image using a *Dockerfile*.
4
4
5
-
## <aname="references"></a>References
5
+
## References { #references }
6
6
7
7
-[Ubuntu base image](https://hub.docker.com/_/ubuntu) at DockerHub
8
8
-[Peter Knight Blynk-Server fork](https://github.com/Peterkn2001/blynk-server) at GitHub (includes documentation)
@@ -18,7 +18,7 @@ Acknowledgement:
18
18
19
19
- Original writeup from @877dev
20
20
21
-
## <aname="significantFiles"></a>Significant directories and files
21
+
## Significant directories and files { #significantFiles }
22
22
23
23
```
24
24
~/IOTstack
@@ -56,19 +56,19 @@ Everything in ❽:
56
56
* will be replaced if it is not present when the container starts; but
57
57
* will never be overwritten if altered by you.
58
58
59
-
## <aname="howBlynkServerIOTstackGetsBuilt"></a>How Blynk Server gets built for IOTstack
59
+
## How Blynk Server gets built for IOTstack { #howBlynkServerIOTstackGetsBuilt }
60
60
61
-
### <aname="dockerHubImages"></a>GitHub Updates
61
+
### GitHub Updates { #dockerHubImages }
62
62
63
63
Periodically, the source code is updated and a new version is released. You can check for the latest version at the [releases page](https://github.com/Peterkn2001/blynk-server/releases/).
64
64
65
-
### <aname="iotstackMenu"></a>IOTstack menu
65
+
### IOTstack menu { #iotstackMenu }
66
66
67
67
When you select Blynk Server in the IOTstack menu, the *template service definition* is copied into the *Compose* file.
68
68
69
69
> Under old menu, it is also copied to the *working service definition* and then not really used.
70
70
71
-
### <aname="iotstackFirstRun"></a>IOTstack first run
71
+
### IOTstack first run { #iotstackFirstRun }
72
72
73
73
On a first install of IOTstack, you run the menu, choose your containers, and are told to do this:
74
74
@@ -131,15 +131,15 @@ You *may* see the same pattern in *Portainer*, which reports the ***base image**
131
131
132
132
> Whether you see one or two rows depends on the version of `docker-compose` you are using and how your version of `docker-compose` builds local images.
The first time you launch the `blynk_server` container, the following structure will be created in the persistent storage area:
145
145
@@ -158,7 +158,7 @@ $ cd ~/IOTstack
158
158
$ docker-compose restart blynk_server
159
159
```
160
160
161
-
## <aname="cleanSlate"></a>Getting a clean slate
161
+
## Getting a clean slate { #cleanSlate }
162
162
163
163
Erasing Blynk Server's persistent storage area triggers self-healing and restores known defaults:
164
164
@@ -178,7 +178,7 @@ Note:
178
178
$ docker-compose restart blynk_server
179
179
```
180
180
181
-
## <aname="upgradingBlynkServer"></a>Upgrading Blynk Server
181
+
## Upgrading Blynk Server { #upgradingBlynkServer }
182
182
183
183
To find out when a new version has been released, you need to visit the [Blynk-Server releases](https://github.com/Peterkn2001/blynk-server/releases/) page at GitHub.
184
184
@@ -220,11 +220,11 @@ At the time of writing, version 0.41.16 was the most up-to-date. Suppose that ve
220
220
221
221
The second `prune` will only be needed if there is an old *base image* and that, in turn, depends on the version of `docker-compose` you are using and how your version of `docker-compose` builds local images.
222
222
223
-
## <aname="usingBlynkServer"></a>Using Blynk Server
223
+
## Using Blynk Server { #usingBlynkServer }
224
224
225
225
See the [References](#references) for documentation links.
226
226
227
-
### <aname="blynkAdmin"></a>Connecting to the administrative UI
227
+
### Connecting to the administrative UI { #blynkAdmin }
228
228
229
229
To connect to the administrative interface, navigate to:
230
230
@@ -237,7 +237,7 @@ You may encounter browser security warnings which you will have to acknowledge i
1. When setting up the application on your mobile be sure to select "custom" setup [see](https://github.com/Peterkn2001/blynk-server#app-and-sketch-changes).
259
259
2. Press "New Project"
260
260
3. Give it a name, choose device "Raspberry Pi 3 B" so you have plenty of [virtual pins](http://help.blynk.cc/en/articles/512061-what-is-virtual-pins) available, and lastly select WiFi.
261
261
4. Create project and the [auth token](https://docs.blynk.cc/#getting-started-getting-started-with-the-blynk-app-4-auth-token) will be emailed to you (if emails configured). You can also find the token in app under the phone app settings, or in the admin web interface by clicking Users>"email address" and scroll down to token.
262
262
263
-
### <aname="quickAppGuide"></a>Quick usage guide for app
263
+
### Quick usage guide for app { #quickAppGuide }
264
264
265
265
1. Press on the empty page, the widgets will appear from the right.
266
266
2. Select your widget, let's say a button.
@@ -273,7 +273,7 @@ Optional step, useful for getting the auth token emailed to you.
273
273
274
274
Enter Node-Red.....
275
275
276
-
### <aname="enterNodeRed"></a>Node-RED
276
+
### Node-RED { #enterNodeRed }
277
277
278
278
1. Install `node-red-contrib-blynk-ws` from Manage Palette.
279
279
2. Drag a "write event" node into your flow, and connect to a debug node
## <aname="twoVersions"></a>Home Assistant: two versions
16
+
## Home Assistant: two versions { #twoVersions }
17
17
18
18
There are two versions of Home Assistant:
19
19
@@ -36,7 +36,7 @@ If Home Assistant Container will not do what you want then, basically, you will
36
36
* One running Raspberry Pi OS ("Raspbian") hosting IOTstack; and
37
37
* Another dedicated to running [Home Assistant Operating System](https://www.home-assistant.io/installation/raspberrypi).
38
38
39
-
## <aname="installHAContainer"></a>Installing Home Assistant Container
39
+
## Installing Home Assistant Container { #installHAContainer }
40
40
41
41
Home Assistant (Container) can be found in the `Build Stack` menu. Selecting it in this menu results in a service definition being added to:
42
42
@@ -61,7 +61,7 @@ $ cd ~/IOTstack
61
61
$ docker-compose up -d
62
62
```
63
63
64
-
## <aname="usingBluetooth"></a>Using bluetooth from the container
64
+
## Using bluetooth from the container { #usingBluetooth }
65
65
66
66
In order to be able to use BT & BLE devices from HA integrations, make sure that Bluetooth is enabled:
67
67
@@ -98,7 +98,7 @@ If `AutoEnable` is either missing or not set to `true`, then:
98
98
99
99
See also: [Scribles: Auto Power On Bluetooth Adapter on Boot-up](https://scribles.net/auto-power-on-bluetooth-adapter-on-boot-up/).
100
100
101
-
## <aname="httpsWithSSLcert"></a>HTTPS with a valid SSL certificate
101
+
## HTTPS with a valid SSL certificate { #httpsWithSSLcert }
102
102
103
103
Some HA integrations (e.g google assistant) require your HA API to be
104
104
accessible via https with a valid certificate. You can configure HA to do this:
@@ -227,7 +227,7 @@ your RPi hostname is raspberrypi)
227
227
`https://homeassistant.<yourdomain>.duckdns.org/`Now the certificate
228
228
should work without any warnings.
229
229
230
-
## <a name="hassioBackground"></a>about Supervised Home Assistant
230
+
## about Supervised Home Assistant { #hassioBackground }
231
231
232
232
IOTstack used to offer a menu entry leading to a convenience script that could install Supervised Home Assistant. That script stopped working when Home Assistant changed their approach. The script's author [made it clear](https://github.com/Kanga-Who/home-assistant/blob/master/Supervised%20on%20Raspberry%20Pi%20with%20Debian.md) that script's future was bleak so the affordance was [removed from IOTstack](https://github.com/SensorsIot/IOTstack/pull/493).
Copy file name to clipboardExpand all lines: docs/Containers/MariaDB.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,9 +68,9 @@ To close the terminal session, either:
68
68
* type "exit" and press <kbd>return</kbd>; or
69
69
* press <kbd>control</kbd>+<kbd>d</kbd>.
70
70
71
-
## <a name="healthCheck"></a>Container health check
71
+
## Container health check { #healthCheck }
72
72
73
-
### <a name="healthCheckTheory"></a>theory of operation
73
+
### theory of operation { #healthCheckTheory }
74
74
75
75
A script , or "agent", to assess the health of the MariaDB container has been added to the *local image* via the *Dockerfile*. In other words, the script is specific to IOTstack.
76
76
@@ -92,7 +92,7 @@ The agent is invoked 30 seconds after the container starts, and every 30 seconds
92
92
93
93
4. If all of those steps succeed, the agent concludes that MariaDB is functioning properly and returns "healthy".
Copy file name to clipboardExpand all lines: docs/Containers/Mosquitto.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -159,7 +159,7 @@ You *may* see the same pattern in Portainer, which reports the *base image* as "
159
159
160
160
> Whether you see one or two rows depends on the version of `docker-compose` you are using and how your version of `docker-compose` builds local images.
Under the original IOTstack implementation of Mosquitto (just "as it comes" from *DockerHub*), the service definition expected the configuration files to be at:
165
165
@@ -518,7 +518,7 @@ The agent is invoked 30 seconds after the container starts, and every 30 seconds
518
518
* Subscribes to the same broker for the same topic for a single message event.
519
519
* Compares the payload sent with the payload received. If the payloads (ie time-stamps) match, the agent concludes that the Mosquitto broker (the process running inside the same container) is functioning properly for round-trip messaging.
Portainer's *Containers* display contains a *Status* column which shows health-check results for all containers that support the feature.
524
524
@@ -564,7 +564,7 @@ Notes:
564
564
* If you enable authentication for your Mosquitto broker, you will need to add `-u «user»` and `-P «password»` parameters to this command.
565
565
* You should expect to see a new message appear approximately every 30 seconds. That indicates the health-check agent is functioning normally. Use <kbd>control</kbd>+<kbd>c</kbd> to terminate the command.
You can customise the operation of the health-check agent by editing the `mosquitto` service definition in your *Compose* file:
570
570
@@ -655,7 +655,7 @@ Your existing Mosquitto container continues to run while the rebuild proceeds. O
655
655
656
656
The `prune` is the simplest way of cleaning up. The first call removes the old *local image*. The second call cleans up the old *base image*. Whether an old *base image* exists depends on the version of `docker-compose` you are using and how your version of `docker-compose` builds local images.
657
657
658
-
### <aname="versionPinning"></a>Mosquitto version pinning
658
+
### Mosquitto version pinning { #versionPinning }
659
659
660
660
If an update to Mosquitto introduces a breaking change, you can revert to an earlier know-good version by pinning to that version. Here's how:
This is the **core** of the IOTstack Nextcloud service definition:
6
6
@@ -54,7 +54,7 @@ Under new-menu, the menu can generate random passwords for you. You can either u
54
54
55
55
The passwords need to be set before you bring up the Nextcloud service for the first time but the following initialisation steps assume you might not have done that and always start over from a clean slate.
@@ -174,7 +174,7 @@ The passwords need to be set before you bring up the Nextcloud service for the f
174
174
175
175

176
176
177
-
## <aname="untrustedDomain"></a>"Access through untrusted domain"
177
+
## "Access through untrusted domain" { #untrustedDomain }
178
178
179
179
During Nextcloud initialisation you had to choose between an IP address, a domain name or a host name. Now that Nextcloud is running, you have the opportunity to expand your connection options.
### <aname="dnsAlias"></a>Using a DNS alias for your Nextcloud service
246
+
### Using a DNS alias for your Nextcloud service { #dnsAlias }
247
247
248
248
The examples above include using a DNS alias (a CNAME record) for your Nextcloud service. If you decide to do that, you may see this warning in the log:
249
249
@@ -257,17 +257,17 @@ You can silence the warning by editing the Nextcloud service definition in `dock
257
257
hostname: nextcloud.mydomain.com
258
258
```
259
259
260
-
## <a name="security"></a>Security considerations
260
+
## Security considerations { #security }
261
261
262
262
Nextcloud traffic is not encrypted. Do **not** expose it to the web by opening a port on your home router. Instead, use a VPN like Wireguard to provide secure access to your home network, and let your remote clients access Nextcloud over the VPN tunnel.
263
263
264
-
## <a name="healthCheck"></a>Container health check
264
+
## Container health check { #healthCheck }
265
265
266
266
A script , or "agent", to assess the health of the MariaDB container has been added to the *local image* via the *Dockerfile*. In other words, the script is specific to IOTstack.
267
267
268
268
Because it is an instance of MariaDB, Nextcloud_DB inherits the health-check agent. See the [IOTstack MariaDB](MariaDB.md) documentation for more information.
The first "prune" removes the old *local* image, the second removes the old *base* image. Whether an old *base image* exists depends on the version of `docker-compose` you are using and how your version of `docker-compose` builds local images.
292
292
293
-
## <a name="backups"></a>Backups
293
+
## Backups { #backups }
294
294
295
295
Nextcloud is currently excluded from the IOTstack-supplied backup scripts due to its potential size.
0 commit comments