Merge branch 'master' of github.com:andrewbrereton/runtipi-appstore into andrewbrereton-master
This commit is contained in:
commit
90c1879bbc
|
@ -13,6 +13,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
||||||
- [Filebrowser](https://github.com/filebrowser/filebrowser) - Web File Browser
|
- [Filebrowser](https://github.com/filebrowser/filebrowser) - Web File Browser
|
||||||
- [Firefly III](https://github.com/firefly-iii/firefly-iii) - A personal finances manager
|
- [Firefly III](https://github.com/firefly-iii/firefly-iii) - A personal finances manager
|
||||||
- [Freshrss](https://github.com/FreshRSS/FreshRSS) - A free, self-hostable RSS aggregator
|
- [Freshrss](https://github.com/FreshRSS/FreshRSS) - A free, self-hostable RSS aggregator
|
||||||
|
- [gandi-livedns](https://github.com/jbbodart/gandi-livedns) - Update your Gandi DNS zone records with your WAN IP
|
||||||
- [Ghost](https://github.com/TryGhost/Ghost) - Ghost - Turn your audience into a business
|
- [Ghost](https://github.com/TryGhost/Ghost) - Ghost - Turn your audience into a business
|
||||||
- [Gitea](https://github.com/go-gitea/gitea) - Gitea - A painless self-hosted Git service
|
- [Gitea](https://github.com/go-gitea/gitea) - Gitea - A painless self-hosted Git service
|
||||||
- [Gotify](https://github.com/gotify/server) - Gotify - Simple server for sending and receiving notification messages
|
- [Gotify](https://github.com/gotify/server) - Gotify - Simple server for sending and receiving notification messages
|
||||||
|
|
73
apps/gandi-livedns/config.json
Normal file
73
apps/gandi-livedns/config.json
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
{
|
||||||
|
"$schema": "../schema.json",
|
||||||
|
"name": "gandi-livedns",
|
||||||
|
"available": true,
|
||||||
|
"exposable": false,
|
||||||
|
"id": "gandi-livedns",
|
||||||
|
"port": 8134,
|
||||||
|
"tipi_version": 1,
|
||||||
|
"version": "latest",
|
||||||
|
"categories": ["network"],
|
||||||
|
"description": "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.",
|
||||||
|
"short_desc": "Update your Gandi DNS zone records with your WAN IP",
|
||||||
|
"author": "jbbodart",
|
||||||
|
"source": "https://github.com/jbbodart/gandi-livedns",
|
||||||
|
"form_fields": [
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Gandi API key",
|
||||||
|
"max": 24,
|
||||||
|
"min": 24,
|
||||||
|
"required": true,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_APIKEY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Record list (DNS records separated by ';'",
|
||||||
|
"required": true,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_RECORD_LIST"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Domain (your Gandi domain name)",
|
||||||
|
"required": true,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_DOMAIN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"label": "Refresh interval in seconds (default 600)",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_REFRESH_INTERVAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"label": "TTL in seconds (default 300)",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_TTL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Update A record (default yes)",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_SET_IPV4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Update AAAA record (default no)",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_SET_IPV6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Force the IPv4 address to be used in DNS A records",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_FORCE_IPV4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "Force the IPv6 address to be used in DNS A records",
|
||||||
|
"required": false,
|
||||||
|
"env_variable": "GANDI_LIVEDNS_FORCE_IPV6"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
20
apps/gandi-livedns/docker-compose.yml
Normal file
20
apps/gandi-livedns/docker-compose.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
version: "3.7"
|
||||||
|
services:
|
||||||
|
gandi-livedns:
|
||||||
|
image: jbbodart/gandi-livedns:latest
|
||||||
|
container_name: gandi-livedns
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${APP_PORT}:80
|
||||||
|
environment:
|
||||||
|
APIKEY: ${GANDI_LIVEDNS_APIKEY}
|
||||||
|
RECORD_LIST: ${GANDI_LIVEDNS_RECORD_LIST}
|
||||||
|
DOMAIN: ${GANDI_LIVEDNS_DOMAIN}
|
||||||
|
REFRESH_INTERVAL: ${GANDI_LIVEDNS_REFRESH_INTERVAL}
|
||||||
|
TTL: ${GANDI_LIVEDNS_TTL}
|
||||||
|
SET_IPV4: ${GANDI_LIVEDNS_SET_IPV4}
|
||||||
|
SET_IPV6: ${GANDI_LIVEDNS_SET_IPV6}
|
||||||
|
FORCE_IPV4: ${GANDI_LIVEDNS_FORCE_IPV4}
|
||||||
|
FORCE_IPV6: ${GANDI_LIVEDNS_FORCE_IPV6}
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
60
apps/gandi-livedns/metadata/description.md
Normal file
60
apps/gandi-livedns/metadata/description.md
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
## 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
|
||||||
|
```
|
BIN
apps/gandi-livedns/metadata/logo.jpg
Normal file
BIN
apps/gandi-livedns/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
Loading…
Reference in New Issue
Block a user