Skip to content

Commit e832ded

Browse files
authored
Merge pull request #561 from ukkopahis/doc-attr-anchors
Docs: Refactor to define anchors using attribute list
2 parents 76806ab + 81cb638 commit e832ded

15 files changed

+204
-207
lines changed

docs/Containers/AdGuardHome.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
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.
1111

12-
## <a name="quickStart"></a>Quick Start
12+
## Quick Start { #quickStart }
1313

1414
When you first install AdGuard Home:
1515

docs/Containers/Blynk_server.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
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*.
44

5-
## <a name="references"></a>References
5+
## References { #references }
66

77
- [Ubuntu base image](https://hub.docker.com/_/ubuntu) at DockerHub
88
- [Peter Knight Blynk-Server fork](https://github.com/Peterkn2001/blynk-server) at GitHub (includes documentation)
@@ -18,7 +18,7 @@ Acknowledgement:
1818

1919
- Original writeup from @877dev
2020

21-
## <a name="significantFiles"></a>Significant directories and files
21+
## Significant directories and files { #significantFiles }
2222

2323
```
2424
~/IOTstack
@@ -56,19 +56,19 @@ Everything in ❽:
5656
* will be replaced if it is not present when the container starts; but
5757
* will never be overwritten if altered by you.
5858

59-
## <a name="howBlynkServerIOTstackGetsBuilt"></a>How Blynk Server gets built for IOTstack
59+
## How Blynk Server gets built for IOTstack { #howBlynkServerIOTstackGetsBuilt }
6060

61-
### <a name="dockerHubImages"></a>GitHub Updates
61+
### GitHub Updates { #dockerHubImages }
6262

6363
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/).
6464

65-
### <a name="iotstackMenu"></a>IOTstack menu
65+
### IOTstack menu { #iotstackMenu }
6666

6767
When you select Blynk Server in the IOTstack menu, the *template service definition* is copied into the *Compose* file.
6868

6969
> Under old menu, it is also copied to the *working service definition* and then not really used.
7070
71-
### <a name="iotstackFirstRun"></a>IOTstack first run
71+
### IOTstack first run { #iotstackFirstRun }
7272

7373
On a first install of IOTstack, you run the menu, choose your containers, and are told to do this:
7474

@@ -131,15 +131,15 @@ You *may* see the same pattern in *Portainer*, which reports the ***base image**
131131

132132
> 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.
133133
134-
## <a name="logging"></a>Logging
134+
## Logging { #logging }
135135

136136
You can inspect Blynk Server's log by:
137137

138138
```console
139139
$ docker logs blynk_server
140140
```
141141

142-
## <a name="editConfiguration"></a>Changing Blynk Server's configuration
142+
## Changing Blynk Server's configuration { #editConfiguration }
143143

144144
The first time you launch the `blynk_server` container, the following structure will be created in the persistent storage area:
145145

@@ -158,7 +158,7 @@ $ cd ~/IOTstack
158158
$ docker-compose restart blynk_server
159159
```
160160

161-
## <a name="cleanSlate"></a>Getting a clean slate
161+
## Getting a clean slate { #cleanSlate }
162162

163163
Erasing Blynk Server's persistent storage area triggers self-healing and restores known defaults:
164164

@@ -178,7 +178,7 @@ Note:
178178
$ docker-compose restart blynk_server
179179
```
180180

181-
## <a name="upgradingBlynkServer"></a>Upgrading Blynk Server
181+
## Upgrading Blynk Server { #upgradingBlynkServer }
182182

183183
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.
184184

@@ -220,11 +220,11 @@ At the time of writing, version 0.41.16 was the most up-to-date. Suppose that ve
220220

221221
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.
222222

223-
## <a name="usingBlynkServer"></a>Using Blynk Server
223+
## Using Blynk Server { #usingBlynkServer }
224224

225225
See the [References](#references) for documentation links.
226226

227-
### <a name="blynkAdmin"></a>Connecting to the administrative UI
227+
### Connecting to the administrative UI { #blynkAdmin }
228228

229229
To connect to the administrative interface, navigate to:
230230

@@ -237,7 +237,7 @@ You may encounter browser security warnings which you will have to acknowledge i
237237
- username = `[email protected]`
238238
- password = `admin`
239239

240-
### <a name="changePassword"></a>Change username and password
240+
### Change username and password { #changePassword }
241241

242242
1. Click on Users > "email address" and edit email, name and password.
243243
2. Save changes.
@@ -248,19 +248,19 @@ You may encounter browser security warnings which you will have to acknowledge i
248248
$ docker-compose restart blynk_server
249249
```
250250

251-
### <a name="gmailSetup"></a>Setup gmail
251+
### Setup gmail { #gmailSetup }
252252

253253
Optional step, useful for getting the auth token emailed to you.
254254
(To be added once confirmed working....)
255255

256-
### <a name="mobileSetup"></a>iOS/Android app setup
256+
### iOS/Android app setup { #mobileSetup }
257257

258258
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).
259259
2. Press "New Project"
260260
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.
261261
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.
262262

263-
### <a name="quickAppGuide"></a>Quick usage guide for app
263+
### Quick usage guide for app { #quickAppGuide }
264264

265265
1. Press on the empty page, the widgets will appear from the right.
266266
2. Select your widget, let's say a button.
@@ -273,7 +273,7 @@ Optional step, useful for getting the auth token emailed to you.
273273

274274
Enter Node-Red.....
275275

276-
### <a name="enterNodeRed"></a>Node-RED
276+
### Node-RED { #enterNodeRed }
277277

278278
1. Install `node-red-contrib-blynk-ws` from Manage Palette.
279279
2. Drag a "write event" node into your flow, and connect to a debug node

docs/Containers/Home-Assistant.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Home Assistant is a home automation platform. It is able to track and control all devices at your home and offer a platform for automating control.
44

5-
## <a name="references"></a>References
5+
## References { #references }
66

77
- [Home Assistant home page](https://www.home-assistant.io/)
88

@@ -13,7 +13,7 @@ Home Assistant is a home automation platform. It is able to track and control al
1313
- [DockerHub](https://hub.docker.com/r/homeassistant/home-assistant/)
1414

1515

16-
## <a name="twoVersions"></a>Home Assistant: two versions
16+
## Home Assistant: two versions { #twoVersions }
1717

1818
There are two versions of Home Assistant:
1919

@@ -36,7 +36,7 @@ If Home Assistant Container will not do what you want then, basically, you will
3636
* One running Raspberry Pi OS ("Raspbian") hosting IOTstack; and
3737
* Another dedicated to running [Home Assistant Operating System](https://www.home-assistant.io/installation/raspberrypi).
3838

39-
## <a name="installHAContainer"></a>Installing Home Assistant Container
39+
## Installing Home Assistant Container { #installHAContainer }
4040

4141
Home Assistant (Container) can be found in the `Build Stack` menu. Selecting it in this menu results in a service definition being added to:
4242

@@ -61,7 +61,7 @@ $ cd ~/IOTstack
6161
$ docker-compose up -d
6262
```
6363

64-
## <a name="usingBluetooth"></a>Using bluetooth from the container
64+
## Using bluetooth from the container { #usingBluetooth }
6565

6666
In order to be able to use BT & BLE devices from HA integrations, make sure that Bluetooth is enabled:
6767

@@ -98,7 +98,7 @@ If `AutoEnable` is either missing or not set to `true`, then:
9898

9999
See also: [Scribles: Auto Power On Bluetooth Adapter on Boot-up](https://scribles.net/auto-power-on-bluetooth-adapter-on-boot-up/).
100100

101-
## <a name="httpsWithSSLcert"></a>HTTPS with a valid SSL certificate
101+
## HTTPS with a valid SSL certificate { #httpsWithSSLcert }
102102

103103
Some HA integrations (e.g google assistant) require your HA API to be
104104
accessible via https with a valid certificate. You can configure HA to do this:
@@ -227,7 +227,7 @@ your RPi hostname is raspberrypi)
227227
`https://homeassistant.<yourdomain>.duckdns.org/` Now the certificate
228228
should work without any warnings.
229229

230-
## <a name="hassioBackground"></a>about Supervised Home Assistant
230+
## about Supervised Home Assistant { #hassioBackground }
231231

232232
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).
233233

docs/Containers/MariaDB.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ To close the terminal session, either:
6868
* type "exit" and press <kbd>return</kbd>; or
6969
* press <kbd>control</kbd>+<kbd>d</kbd>.
7070

71-
## <a name="healthCheck"></a>Container health check
71+
## Container health check { #healthCheck }
7272

73-
### <a name="healthCheckTheory"></a>theory of operation
73+
### theory of operation { #healthCheckTheory }
7474

7575
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.
7676

@@ -92,7 +92,7 @@ The agent is invoked 30 seconds after the container starts, and every 30 seconds
9292

9393
4. If all of those steps succeed, the agent concludes that MariaDB is functioning properly and returns "healthy".
9494

95-
### <a name="healthCheckMonitor"></a>monitoring health-check
95+
### monitoring health-check { #healthCheckMonitor }
9696

9797
Portainer's *Containers* display contains a *Status* column which shows health-check results for all containers that support the feature.
9898

@@ -125,7 +125,7 @@ Possible reply patterns are:
125125
mariadb Up About a minute (unhealthy)
126126
```
127127

128-
### <a name="healthCheckCustom"></a>customising health-check
128+
### customising health-check { #healthCheckCustom }
129129

130130
You can customise the operation of the health-check agent by editing the `mariadb` service definition in your *Compose* file:
131131

docs/Containers/Mosquitto.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ You *may* see the same pattern in Portainer, which reports the *base image* as "
159159

160160
> 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.
161161
162-
### <a name="migration"></a>Migration considerations
162+
### Migration considerations { #migration }
163163

164164
Under the original IOTstack implementation of Mosquitto (just "as it comes" from *DockerHub*), the service definition expected the configuration files to be at:
165165

@@ -518,7 +518,7 @@ The agent is invoked 30 seconds after the container starts, and every 30 seconds
518518
* Subscribes to the same broker for the same topic for a single message event.
519519
* 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.
520520

521-
### <a name="healthCheckMonitor"></a>monitoring health-check
521+
### monitoring health-check { #healthCheckMonitor }
522522

523523
Portainer's *Containers* display contains a *Status* column which shows health-check results for all containers that support the feature.
524524

@@ -564,7 +564,7 @@ Notes:
564564
* If you enable authentication for your Mosquitto broker, you will need to add `-u «user»` and `-P «password»` parameters to this command.
565565
* 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.
566566

567-
### <a name="healthCheckCustom"></a>customising health-check
567+
### customising health-check { #healthCheckCustom }
568568

569569
You can customise the operation of the health-check agent by editing the `mosquitto` service definition in your *Compose* file:
570570

@@ -655,7 +655,7 @@ Your existing Mosquitto container continues to run while the rebuild proceeds. O
655655

656656
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.
657657

658-
### <a name="versionPinning"></a>Mosquitto version pinning
658+
### Mosquitto version pinning { #versionPinning }
659659

660660
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:
661661

docs/Containers/NextCloud.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Nextcloud
22

3-
## <a name="serviceDefinition"></a>Service definition
3+
## Service definition { #serviceDefinition }
44

55
This is the **core** of the IOTstack Nextcloud service definition:
66

@@ -54,7 +54,7 @@ Under new-menu, the menu can generate random passwords for you. You can either u
5454

5555
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.
5656

57-
## <a name="initialisation"></a>Initialising Nextcloud
57+
## Initialising Nextcloud { #initialisation }
5858

5959
1. Be in the correct directory:
6060

@@ -174,7 +174,7 @@ The passwords need to be set before you bring up the Nextcloud service for the f
174174

175175
![Dashboard](./images/nextcloud-dashboard.png)
176176

177-
## <a name="untrustedDomain"></a>"Access through untrusted domain"
177+
## "Access through untrusted domain" { #untrustedDomain }
178178

179179
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.
180180

@@ -243,7 +243,7 @@ See also:
243243

244244
* [Nextcloud documentation - trusted domains](https://docs.nextcloud.com/server/21/admin_manual/installation/installation_wizard.html#trusted-domains).
245245

246-
### <a name="dnsAlias"></a>Using a DNS alias for your Nextcloud service
246+
### Using a DNS alias for your Nextcloud service { #dnsAlias }
247247

248248
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:
249249

@@ -257,17 +257,17 @@ You can silence the warning by editing the Nextcloud service definition in `dock
257257
hostname: nextcloud.mydomain.com
258258
```
259259
260-
## <a name="security"></a>Security considerations
260+
## Security considerations { #security }
261261
262262
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.
263263
264-
## <a name="healthCheck"></a>Container health check
264+
## Container health check { #healthCheck }
265265
266266
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.
267267
268268
Because it is an instance of MariaDB, Nextcloud_DB inherits the health-check agent. See the [IOTstack MariaDB](MariaDB.md) documentation for more information.
269269
270-
## <a name="updatingNextcloud"></a>Keeping Nextcloud up-to-date
270+
## Keeping Nextcloud up-to-date { #updatingNextcloud }
271271
272272
To update the `nextcloud` container:
273273

@@ -290,7 +290,7 @@ $ docker system prune
290290

291291
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.
292292

293-
## <a name="backups"></a>Backups
293+
## Backups { #backups }
294294

295295
Nextcloud is currently excluded from the IOTstack-supplied backup scripts due to its potential size.
296296

0 commit comments

Comments
 (0)