mirror of
https://github.com/mykitserver/docker-ddns-ipv64.git
synced 2025-12-06 16:39:06 +01:00
223 lines
10 KiB
Markdown
223 lines
10 KiB
Markdown
# docker-ddns-ipv64
|
|
|
|
[](https://drone.docker-for-life.de/alcapone1933/docker-ddns-ipv64)
|
|
[](https://drone.docker-for-life.de/alcapone1933/docker-ddns-ipv64/branches)
|
|
[](https://hub.docker.com/r/alcapone1933/ddns-ipv64/tags)
|
|

|
|
[](https://ipv64.net/)
|
|
|
|
|
|
|
|
# DDNS Updater in Docker für Free DynDNS [IPv64.net](https://ipv64.net/) - NUR FÜR IPV4 -
|
|
|
|
Dieser Docker Container ist ein DDNS Updater für Free DynDNS - ipv64.net.
|
|
|
|
Bei einer Änderung der ipv4 Adresse am Standort wird die neue ipv4 Adresse als A-Record an ipv64.net geschickt.
|
|
|
|
Wenn Du dieses Docker Projekt nutzen möchtest, ändere bitte die Environments vor dem Starten des Docker Containers.
|
|
|
|
|
|
|
|
***
|
|
|
|
## Erklärung
|
|
|
|
### Domain
|
|
|
|
* Hier bitte deine DOMAIN eintragen (ersetzen), die unter https://ipv64.net/dyndns.php erstellt wurde, z.B "deine-domain.ipv64.net"
|
|
|
|
`-e "DOMAIN_IPV64=deine-domain.ipv64.net"`
|
|
|
|
* Wenn Du mehrere DOMAINS eintragen willst, bitte mit Komma trennen:
|
|
|
|
`-e "DOMAIN_IPV64=deine-domain.ipv64.net,deine-domain.ipv64.de"`
|
|
|
|
|
|
|
|
### Domain Praefix
|
|
|
|
* Wenn Du einen DOMAIN PRAEFIX verwenden willst, dann benutze die Variablen ***DOMAIN_PRAEFIX_YES=yes*** und ***DOMAIN_PRAEFIX***
|
|
|
|
`-e "DOMAIN_PRAEFIX_YES=yes"`
|
|
|
|
* Hier bitte nur ein DOMAIN PRAEFIX (subdomain) eintragen (ersetzen), das unter https://ipv64.net/dyndns.php erstellt wurde:
|
|
|
|
`-e "DOMAIN_PRAEFIX=ddns"`
|
|
|
|
⚠️ ***Solltest Du mehrere DOMAINS verwenden, dann bitte nur ein PRAEFIX eintragen (ersetzen)*** ⚠️
|
|
|
|
***Bei mehreren Domains wird immer derselbe PRAEFIX verwendet.***
|
|
|
|
***Beispiel: ddns.deine-domain.ipv64.net und ddns.deine-domain.ipv64.de***
|
|
|
|
|
|
|
|
### Domain Key
|
|
|
|
* Hier bitte dein DOMAIN KEY bzw. DynDNS Updatehash eintragen (ersetzen). \
|
|
Zu finden ist dieser unter https://ipv64.net/dyndns.php z.B "1234567890abcdefghijklmn"
|
|
|
|
`-e "DOMAIN_KEY=1234567890abcdefghijklmn"`
|
|
|
|
|
|
|
|
***
|
|
|
|
## Docker CLI
|
|
|
|
```bash
|
|
docker run -d \
|
|
--restart always \
|
|
--name ddns-ipv64 \
|
|
-e "CRON_TIME=*/15 * * * *" \
|
|
-e "CRON_TIME_DIG=*/30 * * * *" \
|
|
-e "DOMAIN_IPV64=deine-domain.ipv64.net" \
|
|
-e "DOMAIN_KEY=1234567890abcdefghijklmn" \
|
|
alcapone1933/ddns-ipv64:latest
|
|
|
|
|
|
-e "DOMAIN_IPV64=deine-domain.ipv64.net,deine-domain.ipv64.de" \
|
|
-e "DOMAIN_PRAEFIX_YES=yes" \
|
|
"⚠️ Hier bitte nur ein DOMAIN PRAEFIX (subdomain) eintragen (ersetzen) ⚠️"
|
|
-e "DOMAIN_PRAEFIX=ddns" \
|
|
-e "SHOUTRRR_URL=" \
|
|
```
|
|
|
|
## Docker Compose
|
|
|
|
```yaml
|
|
version: "3.9"
|
|
services:
|
|
ddns-ipv64:
|
|
image: alcapone1933/ddns-ipv64:latest
|
|
container_name: ddns-ipv64
|
|
restart: always
|
|
environment:
|
|
- "TZ=Europe/Berlin"
|
|
- "CRON_TIME=*/15 * * * *"
|
|
- "CRON_TIME_DIG=*/30 * * * *"
|
|
- "DOMAIN_IPV64=deine-domain.ipv64.net"
|
|
# - "DOMAIN_IPV64=deine-domain.ipv64.net,deine-domain.ipv64.de"
|
|
# - "DOMAIN_PRAEFIX_YES=yes"
|
|
# ⚠️ Hier bitte nur ein DOMAIN PRAEFIX (subdomain) eintragen (ersetzen) ⚠️
|
|
# - "DOMAIN_PRAEFIX=ddns"
|
|
- "DOMAIN_KEY=1234567890abcdefghijklmn"
|
|
# - "SHOUTRRR_URL="
|
|
```
|
|
|
|
|
|
|
|
***
|
|
|
|
## Volume Parameter
|
|
|
|
| Name (Beschreibung) #Optional | Wert | Standard |
|
|
| ----------------------------- | ------- | --------------------- |
|
|
| Speicherort logs und script | volume | ddns-ipv64_data:/data |
|
|
| | | /dein Pfad:/data |
|
|
|
|
|
|
|
|
## Env Parameter
|
|
|
|
| Name (Beschreibung) | Wert | Standard | Beispiel |
|
|
| ------------------------------------------------------------------------------------------------- | ------------------ | ------------------ | -------------------------------------------- |
|
|
| Zeitzone | TZ | Europe/Berlin | Europe/Berlin |
|
|
| Zeitliche Abfrage für die aktuelle IP | CRON_TIME | */15 * * * * | */15 * * * * |
|
|
| Zeitliche Abfrage auf die Domain (dig DOMAIN_IPV64 A) | CRON_TIME_DIG | */30 * * * * | */30 * * * * |
|
|
| DOMAIN KEY: DEIN DOMAIN KEY bzw. DynDNS Updatehash zu finden unter https://ipv64.net/dyndns.php | DOMAIN_KEY | ------------------ | 1234567890abcdefghijklmn |
|
|
| DEINE DOMAIN: z.b. deine-domain.ipv64.net zu finden unter https://ipv64.net/dyndns.php | DOMAIN_IPV64 | ------------------ | deine-domain.ipv64.net |
|
|
| DEINE DOMAINS: z.b. deine-domain.ipv64.net, deine-domain.ipv64.de | DOMAIN_IPV64 | ------------------ | deine-domain.ipv64.net,deine-domain.ipv64.de |
|
|
| DOMAIN PRAEFIX YES: Damit wird das Domain PRAEFIX aktiv genutzt | DOMAIN_PRAEFIX_YES | no | yes |
|
|
| DEIN DOMAIN PRAEFIX (subdomain) : ⚠️ Nur ein Praefix verwenden ⚠️ z.b. ddns | DOMAIN_PRAEFIX | ------------------ | ddns |
|
|
| SHOUTRRR URL: Deine Shoutrrr URL als Benachrichtigungsdienst z.b ( gotify,discord,telegram,email) | SHOUTRRR_URL | ------------------ | [Shoutrrr-Beispiele](#shoutrrr-beispiele) |
|
|
|
|
* * *
|
|
|
|
|
|
|
|
## Shoutrrr Beispiele
|
|
|
|
Die Nachricht wird fest vom Script erstellt. \
|
|
Sie können den Betreff (titel) frei wählen wie im Beispiel genannt. \
|
|
So könnte die Nachricht ausehen.
|
|
|
|
```txt
|
|
Betreff: DDNS IPV64 IP UPDATE
|
|
# Die Nachricht wird fest vom Script erstellt.
|
|
Nachricht: DOCKER DDNS UPDATER IPV64.NET - IP UPDATE !!!
|
|
DATUM UPDATE !!!
|
|
Update IP=IP - Alte-IP=IP
|
|
DOMAIN: DOMAIN
|
|
|
|
----------------------------------------------------------
|
|
Nachricht: DOCKER DDNS UPDATER IPV64.NET - IP UPDATE !!!
|
|
2022-12-27 14:40:59 UPDATE !!!
|
|
Update IP=1.0.0.1 - Alte-IP=1.1.1.1
|
|
DOMAIN: deine-domain.ipv64.net
|
|
|
|
Nachricht: DOCKER DDNS UPDATER IPV64.NET - IP UPDATE !!!
|
|
2022-12-27 14:40:59 UPDATE !!!
|
|
Update IP=1.0.0.1 - Alte-IP=1.1.1.1
|
|
DOMAIN mit PRAEFIX: ddnd.deine-domain.ipv64.net
|
|
```
|
|
|
|
Das sind Beispiele für Shoutrrr als Benachrichtigungsdienst, für weitere Services infos fidetest du hier [Shoutrrr](https://containrrr.dev/shoutrrr/latest/services/overview/)
|
|
|
|
| Service Name | URL Beispiel |
|
|
| ------------ | ------------------------------------------------------------------------------------------------- |
|
|
| gotify | `gotify://<url domain.de>/<token>/?title=<title>&priority=<priority>` |
|
|
| discord | `discord://<token>@<webhook id>?title=<title>` |
|
|
| telegram | `telegram://<token>@telegram/?chats=<chad_id>&title=<title>` |
|
|
| smtp (email) | `smtp://<username>:<password>@<host>:<port>/?from=<sender_email>&to=<to_email>&subject=<subject>` |
|
|
|
|
|
|
| Service Name | URL Beispiel (Beispiel text) |
|
|
| ------------ | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
| gotify | `gotify://domain.de/123456abc/?title=DDNS+IPV64+IP+UPDATE&priority=5` |
|
|
| discord | `discord://123456abc@555555555555555?title=DDNS+IPV64+IP+UPDATE` |
|
|
| telegram | `telegram://1111111111:123456abc@telegram/?chats=5555555555&title=DDNS+IPV64+IP+UPDATE` |
|
|
| smtp (email) | `smtp://noreply@domain.de:password@mail.domain.de:587/?from=noreply@domain.de&to=user@domain.de&subject=DDNS+IPV64+IP+UPDATE` |
|
|
|
|
|
|
|
|
### Du kannst die Shoutrrr URL auch generieren lassen
|
|
|
|
```bash
|
|
# $ docker run --rm -it alcapone1933/shoutrrr generate
|
|
#Error: no service specified
|
|
#Usage:
|
|
# shoutrrr generate [flags]
|
|
#
|
|
#Flags:
|
|
# -g, --generator string The generator to use (default "basic")
|
|
# -h, --help help for generate
|
|
# -p, --property stringArray Configuration property in key=value format
|
|
# -s, --service string The notification service to generate a URL for
|
|
#
|
|
#Available services:
|
|
# opsgenie, slack, teams, generic, googlechat, join, bark, logger, matrix, discord, mattermost, rocketchat, pushbullet, pushover, smtp, telegram, zulip, gotify, hangouts, ifttt
|
|
|
|
# docker run --rm -it alcapone1933/shoutrrr generate gotify
|
|
|
|
docker run --rm -it alcapone1933/shoutrrr generate
|
|
|
|
# TEST
|
|
# $ docker run --rm -it alcapone1933/shoutrrr send --verbose --url "< Shoutrrr URL >" --message "DOCKER DDNS UPDATER IPV64.NET"
|
|
|
|
docker run --rm -it alcapone1933/shoutrrr send --verbose --url "< Shoutrrr URL >" --message "DOCKER DDNS UPDATER IPV64.NET"
|
|
```
|
|
|
|
<details>
|
|
<summary markdown="span">DEMO Shoutrrr URL generieren</summary>
|
|
|
|
<img src="demo/shoutrrr-demo.gif" width="1050" height="400">
|
|
|
|
</details>
|
|
|
|
|
|
|
|
## DEMO
|
|
|
|
<img src="demo/demo.gif" width="700" height="400">
|