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
Remove custom anchor links and generate them automatically using
the toc markdown extension. Links updated to match new anchors.
This fixes the custom links coloring the heading blue,
which isn't the best if user selects the dark theme.
Heading changes done by:
cd docs && sed -i -r 's/(#*).*> (.*?) <\/a>/\1 \2/g' *md */*md */*/*md
Copy file name to clipboardExpand all lines: docs/Basic_setup/Accessing-your-Device-from-the-internet.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,14 +6,14 @@ From time to time the IP address that your ISP assigns changes and it's difficul
6
6
7
7
Secondly, how do you get into your home network? Your router has a firewall that is designed to keep the rest of the internet out of your network to protect you. The solution to that is a Virtual Private Network (VPN) or "tunnel".
8
8
9
-
## <aname="dynamicDNS"> Dynamic DNS </a>
9
+
## Dynamic DNS
10
10
11
11
There are two parts to a Dynamic DNS service:
12
12
13
13
1. You have to register with a Dynamic DNS service provider and obtain a domain name that is not already taken by someone else.
14
14
2. Something on your side of the network needs to propagate updates so that your chosen domain name remains in sync with your router's dynamically-allocated public IP address.
15
15
16
-
### <aname="registerDDNS"> Register with a Dynamic DNS service provider </a>
16
+
### Register with a Dynamic DNS service provider
17
17
18
18
The first part is fairly simple and there are quite a few Dynamic DNS service providers including:
19
19
@@ -24,7 +24,7 @@ The first part is fairly simple and there are quite a few Dynamic DNS service pr
24
24
25
25
Some router vendors also provide their own built-in Dynamic DNS capabilities for registered customers so it's a good idea to check your router's capabilities before you plough ahead.
26
26
27
-
### <aname="propagateDDNS"> Dynamic DNS propagation </a>
27
+
### Dynamic DNS propagation
28
28
29
29
The "something" on your side of the network propagating WAN IP address changes can be either:
30
30
@@ -39,7 +39,7 @@ A behind-the-router technique usually relies on sending updates according to a s
39
39
40
40
> This seems to be a problem for DuckDNS which takes a beating because almost every person using it is sending an update bang-on five minutes.
41
41
42
-
### <aname="duckDNSclient"> DuckDNS client </a>
42
+
### DuckDNS client
43
43
44
44
IOTstack provides a solution for DuckDNS. The best approach to running it is:
45
45
@@ -99,7 +99,7 @@ A null result indicates failure so check your work.
99
99
100
100
Remember, the Domain Name System is a *distributed* database. It takes *time* for changes to propagate. The response you get from directing a query to ns1.duckdns.org may not be the same as the response you get from any other DNS server. You often have to wait until cached records expire and a recursive query reaches the authoritative DuckDNS name-servers.
101
101
102
-
#### <aname="duckDNSauto"> Running the DuckDNS client automatically </a>
102
+
#### Running the DuckDNS client automatically
103
103
104
104
The recommended arrangement for keeping your Dynamic DNS service up-to-date is to invoke `duck.sh` from `cron` at five minute intervals.
Copy file name to clipboardExpand all lines: docs/Basic_setup/Updates/gcgarner-migration.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@ Migrating to SensorsIot/IOTstack was fairly easy when this repository was first
6
6
7
7
The probability of conflicts developing increases as a function of time since the fork. Conflicts were and are pretty much inevitable so a more involved procedure is needed.
8
8
9
-
## <aname="migrationSteps"> Migration Steps </a>
9
+
## Migration Steps
10
10
11
-
### <aname="checkAssumptions"> Step 1 – Check your assumptions </a>
11
+
### Step 1 – Check your assumptions
12
12
13
13
Make sure that you are, *actually*, on gcgarner. Don't assume!
### <aname="downStack"> Step 2 – Take IOTstack down </a>
23
+
### Step 2 – Take IOTstack down
24
24
25
25
Take your stack down. This is not *strictly* necessary but we'll be moving the goalposts a bit so it's better to be on the safe side.
26
26
@@ -29,22 +29,22 @@ $ cd ~/IOTstack
29
29
$ docker-compose down
30
30
```
31
31
32
-
### <aname="chooseMigrationMethod"> Step 3 – Choose your migration method </a>
32
+
### Step 3 – Choose your migration method
33
33
34
34
There are two basic approaches to switching from gcgarner/IOTstack to SensorsIot/IOTstack:
35
35
36
-
-[Migration by changing upstream repository](#migrateChangeUpstream)
37
-
-[Migration by clone and merge](#migrateCloneMerge)
36
+
-[Migration by changing upstream repository](#migration-option-1-change-upstream-repository)
37
+
-[Migration by clone and merge](#migration-option-2-clone-and-merge)
38
38
39
39
You can think of the first as "working *with* git" while the second is "using brute force".
40
40
41
41
The first approach will work if you haven't tried any other migration steps and/or have not made too many changes to items in your gcgarner/IOTstack that are under git control.
42
42
43
-
If you are already stuck or you try the first approach and get a mess, or it all looks far too hard to sort out, then try the [Migration by clone and merge](#migrateCloneMerge) approach.
43
+
If you are already stuck or you try the first approach and get a mess, or it all looks far too hard to sort out, then try the [Migration by clone and merge](#migration-option-2-clone-and-merge) approach.
If you don't use `someRandomService` then you could safely ignore this on the basis that it was "probably right". However, if you did use that service and it started to misbehave after migration, you would know that the `service.yml` file was a good place to start looking for explanations.
176
176
177
-
##### <aname="finishWithPull"> Finish with a pull </a>
177
+
##### Finish with a pull
178
178
179
179
At this point, only the migrated master branch is present on your local copy of the repository. The next command brings you fully in-sync with GitHub:
180
180
181
181
```
182
182
$ git pull
183
183
```
184
184
185
-
#### <aname="migrateCloneMerge"> Migration Option 2 – clone and merge </a>
185
+
#### Migration Option 2 – clone and merge
186
186
187
187
If you have been following the process correctly, your IOTstack will already be down.
188
188
189
-
##### <aname="renameOldIOTstack"> Rename your existing IOTstack folder </a>
189
+
##### Rename your existing IOTstack folder
190
190
191
191
Move your old IOTstack folder out of the way, like this:
192
192
@@ -199,7 +199,7 @@ Note:
199
199
200
200
* You should not need `sudo` for the `mv` command but it is OK to use it if necessary.
201
201
202
-
##### <aname="fetchCleanClone"> Fetch a clean clone of SensorsIot/IOTstack </a>
@@ -240,7 +240,7 @@ Observe what is **not** there:
240
240
241
241
From this, it should be self-evident that a clean checkout from GitHub is the factory for *all* IOTstack installations, while the contents of `backups`, `services`, `volumes` and `docker-compose.yml` represent each user's individual choices, configuration options and data.
242
242
243
-
##### <aname="mergeOldWithNew"> Merge old into new </a>
243
+
##### Merge old into new
244
244
245
245
Execute the following commands:
246
246
@@ -272,7 +272,7 @@ There is no need to migrate the `backups` directory. You are better off creating
272
272
$ mkdir ~/IOTstack/backups
273
273
```
274
274
275
-
### <aname="chooseMenu"> Step 4 – Choose your menu </a>
275
+
### Step 4 – Choose your menu
276
276
277
277
If you have reached this point, you have migrated to SensorsIot/IOTstack where you are on the "master" branch. This implies "new menu".
278
278
@@ -353,15 +353,15 @@ Although you can freely change branches, it's probably not a good idea to try to
353
353
354
354
Even so, nothing will change **until** you run your chosen menu to completion and allow it to generate a new `docker-compose.yml`.
355
355
356
-
### <aname="upStack"> Step 5 – Bring up your stack </a>
356
+
### Step 5 – Bring up your stack
357
357
358
358
Unless you have gotten ahead of yourself and have already run the menu (old or new) then nothing will have changed in the parts of your `~/IOTstack` folder that define your IOTstack implementation. You can safely:
359
359
360
360
```
361
361
$ docker-compose up -d
362
362
```
363
363
364
-
## <aname="seeAlso"> See also </a>
364
+
## See also
365
365
366
366
There is another gist [Installing Docker for IOTstack](https://gist.github.com/Paraphraser/d119ae81f9e60a94e1209986d8c9e42f) which explains how to overcome problems with outdated Docker and Docker-Compose installations.
0 commit comments