docs: mode feature (#16)
Reviewed-on: #16 Co-authored-by: Timo Behrendt <t.behrendt@t00n.de> Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
This commit was merged in pull request #16.
This commit is contained in:
31
README.md
31
README.md
@@ -1,10 +1,12 @@
|
||||
# realDynDNS
|
||||
|
||||
RealDynDNS aims to be a replacement to "classical" dynDNS solutions that offer a subdomain. Instead realDynDns actually changes your DNS entries.
|
||||
|
||||
This service requires your DNS provider to expose an API that allows your DNS entries to be changed.
|
||||
A service that provides your current external IP is also required.
|
||||
|
||||
## Configuration
|
||||
|
||||
The configuration is done via a YAML file called `config.yaml`. The following example shows the configuration for a domain with two subdomains.
|
||||
|
||||
Configuration of the IP provider and the DNS provider is mandatory.
|
||||
@@ -35,40 +37,51 @@ domains:
|
||||
- "@"
|
||||
- www
|
||||
check_interval: 0 0 0/6 * * * *
|
||||
mode: Scheduled
|
||||
```
|
||||
|
||||
The config file is expected to be in the same directory as the binary and called `config.yaml`. For the OCR image, the root directory is `/app`.
|
||||
|
||||
## DNS Providers
|
||||
|
||||
The DNS provider abstracts the API of your DNS provider. Currently the following providers are supported:
|
||||
|
||||
### IONOS
|
||||
|
||||
IONOS requires two configuration parameters. You can get your API key [here](https://developer.hosting.ionos.com/docs/getstarted).
|
||||
|
||||
```yaml
|
||||
api_key: <your-api-key>
|
||||
base_url: https://api.hosting.ionos.com/dns
|
||||
```
|
||||
|
||||
## External IP Providers
|
||||
|
||||
The external IP provider is used to get your current external IP. Currently the following providers are supported:
|
||||
|
||||
### Plain
|
||||
|
||||
Any provider that returns your IP as plain text can be used. The following configuration is required:
|
||||
|
||||
```yaml
|
||||
url: <your-providers-URL>
|
||||
```
|
||||
|
||||
Examples for providers are:
|
||||
|
||||
- https://ifconfig.me
|
||||
- https://api.ipify.org
|
||||
|
||||
## Notification Providers
|
||||
|
||||
The notification provider is used to send notifications whena IP address changes and a DNS record is updated.
|
||||
|
||||
### Console
|
||||
|
||||
The console notification provider is used to print the notification to the console. This is the default notification provider.
|
||||
|
||||
### Gotify
|
||||
|
||||
The Gotify notification provider is used to send notifications to a Gotify server.
|
||||
|
||||
```yaml
|
||||
@@ -77,4 +90,20 @@ token: <your-token>
|
||||
priority: 0
|
||||
```
|
||||
|
||||
The priority must be between 0 and 4.
|
||||
The priority must be between 0 and 4.
|
||||
|
||||
## Mode Selection
|
||||
|
||||
Two modes are available:
|
||||
|
||||
### RunOnce
|
||||
|
||||
The RunOnce mode is used to run the application once and exit. This is useful when providing your own external scheduler, like cron.
|
||||
|
||||
Set the `mode` to `RunOnce`.
|
||||
|
||||
### Scheduled
|
||||
|
||||
The Scheduled mode is used to run the application in a scheduled interval.
|
||||
|
||||
Set the `mode` to `Scheduled` and provide a cron expression for the `check_interval`.
|
||||
|
||||
Reference in New Issue
Block a user