Skip to content

alcapone1933/docker-ddns-ipv64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-ddns-ipv64

Build Status Build Status Branch Master Docker Pulls Docker Image Version (latest semver) Website

 

DDNS Updater in Docker für Free DynDNS 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

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=" \
    -e "SHOUTRRR_SKIP_TEST=no" \
    -e "NAME_SERVER=ns1.ipv64.net" \
    -e "PUID=1000" \
    -e "PGID=1000" \

Docker Compose

# version: "3.9"
services:
  ddns-ipv64:
    image: alcapone1933/ddns-ipv64:latest
    container_name: ddns-ipv64
    restart: unless-stopped
    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="
      # - "SHOUTRRR_SKIP_TEST=no"
      # - "NAME_SERVER=ns1.ipv64.net"
      # - "PUID=1000"
      # - "PGID=1000"

 


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 (yes oder no)
DEIN DOMAIN PRAEFIX (subdomain) : ⚠️ Nur ein Praefix verwenden ⚠️ z.b. ddns DOMAIN_PRAEFIX ------------------ ddns
IP CHECK: Die IP-Adresse der Domain wird überprüft IP_CHECK yes yes (yes oder no)
SHOUTRRR URL: Deine Shoutrrr URL als Benachrichtigungsdienst z.b ( gotify,discord,telegram,email) SHOUTRRR_URL ------------------ Shoutrrr-Beispiele
SHOUTRRR_SKIP_TEST: Beim Start des Containers wird keine Testnachricht gesendet SHOUTRRR_SKIP_TEST no no (yes oder no)
NAME_SERVER: : Der Nameserver, um die IP-Adresse Ihrer Domain zu überprüfen NAME_SERVER ns1.ipv64.net ns1.ipv64.net
PUID: Rechte für Benutzer-ID des Ornder /data im Container PUID 0 1000
PGID: Rechte für Gruppen-ID des Ornder /data im Container PGID 0 1000

 

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.

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

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

# $ 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"
DEMO Shoutrrr URL generieren

 

DEMO