61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								## gandi-livedns
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The purpose of this container is to update DNS zone records using Gandi's LiveDNS (http://doc.livedns.gandi.net/) with your WAN IP.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This image is extremely lightweight  (Alpine Linux based) and has very few dependencies. The actual DNS update program is coded in shell script only.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Configuration
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Mandatory variables:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* APIKEY: your Gandi API key
							 | 
						||
| 
								 | 
							
								* DOMAIN: your Gandi domain
							 | 
						||
| 
								 | 
							
								* RECORD_LIST: DNS records to update separated by ";"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Optional variables:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* REFRESH_INTERVAL: Delay between updates (default: 10mn)
							 | 
						||
| 
								 | 
							
								* TTL: Set Time To Live for records (default: 300)
							 | 
						||
| 
								 | 
							
								* SET_IPV4: Update A record (default: yes)
							 | 
						||
| 
								 | 
							
								* SET_IPV6: Update AAAA record (default: no)
							 | 
						||
| 
								 | 
							
								* FORCE_IPV4: Force the IPv4 address to be used in DNS A records
							 | 
						||
| 
								 | 
							
								* FORCE_IPV6: Force the IPv6 address to be used in DNS AAAA records
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Examples
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The easiest way to run gandi-livedns is simply to *docker run* it from a computer in your network, leaving it running in the background with all the default settings.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```shell
							 | 
						||
| 
								 | 
							
								docker run -d \
							 | 
						||
| 
								 | 
							
									-e "APIKEY=<YOUR_VERY_SECRET_API_KEY>" \
							 | 
						||
| 
								 | 
							
									-e "RECORD_LIST=blog;www;@" \
							 | 
						||
| 
								 | 
							
									-e "DOMAIN=your-gandi-hosted-domain.com" \
							 | 
						||
| 
								 | 
							
									jbbodart/gandi-livedns
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This will update **blog.your-gandi-hosted-domain.com**, **www.your-gandi-hosted-domain.com**, and **your-gandi-hosted-domain.com** with your internet-facing IP (IPv4) every 10 minutes
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								An equivalent setup using docker-compose could look like this:  
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**docker-compose.yml**
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```yml
							 | 
						||
| 
								 | 
							
								version: '3.7'
							 | 
						||
| 
								 | 
							
								...
							 | 
						||
| 
								 | 
							
								    services:
							 | 
						||
| 
								 | 
							
								    ...
							 | 
						||
| 
								 | 
							
								        dyndns:
							 | 
						||
| 
								 | 
							
								            image: jbbodart/gandi-livedns
							 | 
						||
| 
								 | 
							
								            restart: unless-stopped
							 | 
						||
| 
								 | 
							
								            env_file:
							 | 
						||
| 
								 | 
							
								                - "dyndns.env"
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**dyndns.env**
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```properties
							 | 
						||
| 
								 | 
							
								APIKEY=<YOUR_VERY_SECRET_API_KEY>
							 | 
						||
| 
								 | 
							
								RECORD_LIST=blog;www;@
							 | 
						||
| 
								 | 
							
								DOMAIN=your-gandi-hosted-domain.com
							 | 
						||
| 
								 | 
							
								```
							 |