Simple Scaleway dynamic DNS service using API
1.9K
Simple Scaleway dynamic DNS service by API written in Crystal.
:rocket: Suggestions for new improvements are welcome in the issue tracker.
You can run scaleway-ddns using Docker or Docker Compose. Replace example values with your actual configuration.
Run directly from Docker Hub:
docker run -d \
--name scaleway-ddns \
-e SCW_SECRET_KEY="your-scaleway-secret-key" \
-e IDLE_MINUTES="10" \
-e DOMAIN_LIST="myfirstdomain.com,anotherone.com" \
-e ENABLE_IPV4="true" \
-e ENABLE_IPV6="false" \
d1ceward/scaleway-ddns:latest
Run from GitHub Container Registry:
docker run -d \
--name scaleway-ddns \
-e SCW_SECRET_KEY="your-scaleway-secret-key" \
-e IDLE_MINUTES="10" \
-e DOMAIN_LIST="myfirstdomain.com,anotherone.com" \
-e ENABLE_IPV4="true" \
-e ENABLE_IPV6="false" \
ghcr.io/d1ceward/scaleway-ddns:latest
Recommended for multi-container setups or easier management:
services:
scaleway_ddns:
image: d1ceward/scaleway-ddns:latest # Use Docker Hub image
# Or use GitHub Packages:
# image: ghcr.io/d1ceward/scaleway-ddns:latest
restart: unless-stopped
environment:
SCW_SECRET_KEY: your-scaleway-secret-key
IDLE_MINUTES: 10
DOMAIN_LIST: myfirstdomain.com,anotherone.com
ENABLE_IPV4: true # Optional, enables IPv4 address updates (default: true)
ENABLE_IPV6: false # Optional, enables IPv6 address updates (default: false)
Environment Variables:
SCW_SECRET_KEY (required): Your Scaleway API secret key.IDLE_MINUTES: Minutes between IP checks (default: 60).DOMAIN_LIST: Comma-separated domains to update.ENABLE_IPV4: Set to true or false to enable/disable IPv4 updates.ENABLE_IPV6: Set to true or false to enable/disable IPv6 updates.Download the executable:
wget --no-verbose -O scaleway-ddns https://github.com/d1ceward/scaleway-ddns/releases/download/v2.2.1/scaleway-ddns-linux-amd64
Make it executable:
chmod +x scaleway-ddns
Run the service:
./scaleway-ddns run
Documentation available here : https://d1ceward.github.io/scaleway-ddns/
Bug reports and pull requests are welcome on GitHub at https://github.com/d1ceward/scaleway-ddns. By contributing you agree to abide by the Code of Merit.
git checkout -b my-new-feature)git commit -am 'Add some feature')git push origin my-new-feature).tool-versions file)shards installshards buildThe newly created binary should be at bin/scaleway-ddns
crystal spec
SCW_SECRET_KEY (required): Secret key from Scaleway required for IP update.IDLE_MINUTES: Number of minutes of inactivity between IP checks (default: 60, min: 1, max: 1440).DOMAIN_LIST: Comma-separated list of domains to update (e.g., example.com,another.com).ENABLE_IPV4: Enables IPv4 address updates. Set to false to disable (default: true).ENABLE_IPV6: Enables IPv6 address updates. Set to true to enable (default: false).Content type
Image
Digest
sha256:3b5d77020…
Size
22.4 MB
Last updated
6 days ago
docker pull d1ceward/scaleway-ddns