From b7709fc477f4696601c8a7f6db10794c06a39e3e Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Thu, 29 Feb 2024 08:43:02 +0100 Subject: [PATCH] refactor(duckdns): improve config and remove gui --- apps/duckdns/config.json | 91 ++++++++++++++-------------- apps/duckdns/docker-compose.yml | 6 +- apps/duckdns/metadata/description.md | 4 +- 3 files changed, 49 insertions(+), 52 deletions(-) diff --git a/apps/duckdns/config.json b/apps/duckdns/config.json index ee16dfe6..ccf6f9ff 100644 --- a/apps/duckdns/config.json +++ b/apps/duckdns/config.json @@ -1,46 +1,47 @@ { - "name": "Duck DNS", - "available": true, - "port": 8026, - "exposable": false, - "id": "duckdns", - "description": "Duck DNS is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice", - "tipi_version": 1, - "version": "b14c520a-ls8", - "categories": ["network"], - "short_desc": "Duck DNS is a free Dynamic DNS service", - "author": "linuxserver.io", - "source": "https://github.com/linuxserver/docker-duckdns", - "website": "https://docs.linuxserver.io/images/docker-duckdns/", - "supported_architectures": ["arm64", "amd64"], - "form_fields": [ - { - "type": "text", - "label": "Subdomains (comma separated). E.g. `mydomain1,mydomain2`.", - "max": 1024, - "min": 3, - "required": true, - "env_variable": "DUCKDNS_SUBDOMAINS" - }, - { - "type": "password", - "label": "DuckDNS Token", - "max": 128, - "min": 3, - "required": true, - "env_variable": "DUCKDNS_TOKEN" - }, - { - "type": "text", - "label": "Update IP (blank, ipv4, ipv6 or both). Setting this value uses external Cloudflare whoami service. Omitting the field uses DuckDNS for detection and only supports IPv4.", - "required": false, - "env_variable": "DUCKDNS_UPDATE_IP" - }, - { - "type": "boolean", - "label": "Enable logging", - "required": false, - "env_variable": "DUCKDNS_ENABLE_LOG_FILE" - } - ] - } + "name": "Duck DNS", + "available": true, + "port": 8026, + "exposable": false, + "id": "duckdns", + "description": "Duck DNS is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice", + "tipi_version": 1, + "no_gui": true, + "version": "b14c520a-ls8", + "categories": ["network"], + "short_desc": "Duck DNS is a free Dynamic DNS service", + "author": "linuxserver.io", + "source": "https://github.com/linuxserver/docker-duckdns", + "website": "https://docs.linuxserver.io/images/docker-duckdns/", + "supported_architectures": ["arm64", "amd64"], + "form_fields": [ + { + "type": "text", + "label": "Subdomains (comma separated). E.g. `mydomain1,mydomain2`.", + "max": 1024, + "min": 3, + "required": true, + "env_variable": "DUCKDNS_SUBDOMAINS" + }, + { + "type": "password", + "label": "DuckDNS Token", + "max": 128, + "min": 3, + "required": true, + "env_variable": "DUCKDNS_TOKEN" + }, + { + "type": "text", + "label": "Update IP (blank, ipv4, ipv6 or both). Setting this value uses external Cloudflare whoami service. Omitting the field uses DuckDNS for detection and only supports IPv4.", + "required": false, + "env_variable": "DUCKDNS_UPDATE_IP" + }, + { + "type": "boolean", + "label": "Enable logging", + "required": false, + "env_variable": "DUCKDNS_ENABLE_LOG_FILE" + } + ] +} diff --git a/apps/duckdns/docker-compose.yml b/apps/duckdns/docker-compose.yml index 067a1ad6..44b4870c 100644 --- a/apps/duckdns/docker-compose.yml +++ b/apps/duckdns/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.9" +version: '3.9' services: duckdns: container_name: duckdns # Should be exact same name as "id" field in config.json @@ -12,9 +12,7 @@ services: - UPDATE_IP=${DUCKDNS_UPDATE_IP} - LOG_FILE=${DUCKDNS_ENABLE_LOG_FILE} volumes: - - ${APP_DATA_DIR}/data:/config - ports: - - ${APP_PORT}:80 + - ${APP_DATA_DIR}/data/config:/config restart: unless-stopped networks: - tipi_main_network diff --git a/apps/duckdns/metadata/description.md b/apps/duckdns/metadata/description.md index c2c41a77..8f4911d7 100644 --- a/apps/duckdns/metadata/description.md +++ b/apps/duckdns/metadata/description.md @@ -2,8 +2,6 @@ [Duckdns](https://duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. The service is completely free, and doesn't require reactivation or forum posts to maintain its existence. -[![duckdns](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/duckdns.png)](https://duckdns.org/) - ## Application Setup - Go to the [duckdns website](https://duckdns.org/), register your subdomain(s) and retrieve your token @@ -12,7 +10,7 @@ ## Notice regarding automatic detection -Using the `UPDATE_IP` variable whatever its value (`ipv4`, `ipv6` or `both`) uses external *Cloudflare whoami* service to detect public IP addresses. +Using the `UPDATE_IP` variable whatever its value (`ipv4`, `ipv6` or `both`) uses external _Cloudflare whoami_ service to detect public IP addresses. **Be aware that using this variable will query a third-party service other than DuckDNS.** Omitting the `UPDATE_IP` variable uses DuckDNS for detection and only supports IPv4.