scaleway-ddns
Dynamic DNS service based on Scaleway DNS.
Setup
From binaries
Download the most suitable binary from the releases tab. Builds are available for Linux, macOS and Windows.
tar xf scaleway-ddns_X.X.X_linux_amd64.tar.gz
./scaleway-ddns_X.X.X_linux_amd64/scaleway-ddns
Using the docker image
docker run --rm -d --name scaleway-ddns -v `pwd`:/config aerialls/scaleway-ddns:latest --config /config/scaleway-ddns.yml
Usage
./scaleway-ddns --config /etc/scaleway-ddns/scaleway-ddns.yml --dry-run --verbose
Parameters
--config
- Specify the location of the configuration file (required)
--dry-run
- Do not perform update actions (default false
)
--verbose
- Display debug messages (default false
)
--help
- Display the help message block
Configuration
scaleway:
project_id: __PROJECT_ID__
access_key: __ACCESS_KEY__
secret_key: __SECRET_KEY__
domain:
name: contoso.com
record: public
ttl: 60
interval: 300
ipv4:
enabled: true
url: https://api-ipv4.ip.sb/ip
ipv6:
enabled: true
url: https://api-ipv6.ip.sb/ip
telegram:
enabled: true
token: __TELEGRAM_TOKEN__
chat_id: __TELEGRAM_CHAT_ID__
Note: IPv6 is disabled by default.
Telegram
It's possible to send a Telegram message (in markdown format) when the DNS record changes.
telegram:
enabled: true
token: __TELEGRAM_TOKEN__
chat_id: __TELEGRAM_CHAT_ID__
template: DNS record *{{ .RecordName }}.{{ .Domain }}* has been updated
The following variables can be used in the template message.
- RecordName
- RecordType
- Domain
- PreviousIP
- NewIP