summaryrefslogtreecommitdiff
path: root/docs/server/ddns.md
diff options
context:
space:
mode:
authorjoshua <joshua@joshuayun.com>2023-12-29 23:18:01 -0500
committerjoshua <joshua@joshuayun.com>2023-12-29 23:18:01 -0500
commitbe0a9dfcbd5ea62eca32f3cebb104ae39855a4f2 (patch)
tree05e8c68e2adb022e7b6d3b0ecf3799aaf1f795ec /docs/server/ddns.md
parent801b59c05ac3c12e74a5f77c0d5d6f898ef55912 (diff)
downloadwiki-be0a9dfcbd5ea62eca32f3cebb104ae39855a4f2.tar.gz
updated wiki on how to make server
Diffstat (limited to 'docs/server/ddns.md')
-rw-r--r--docs/server/ddns.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/docs/server/ddns.md b/docs/server/ddns.md
new file mode 100644
index 0000000..f81f5d7
--- /dev/null
+++ b/docs/server/ddns.md
@@ -0,0 +1,49 @@
+# DDNS Setup
+
+## Porkbun API
+
+Follow this [porkbun](https://kb.porkbun.com/article/190-getting-started-with-the-porkbun-api) guide on enabling the api for your domain.
+
+## ddns-updater
+
+[ddns-updater](https://github.com/qdm12/ddns-updater) is the program used to update Porkbun's A record of your domain.
+
+### Docker install
+
+Install the [docker](https://docs.docker.com/engine/install/debian/) package from official docker repositories.
+
+### Setup
+
+Create a directory with config.json inside, and make sure that its owner has a uid of 1000.
+
+ mkdir data
+ touch data/config.json
+ # Owned by user ID of Docker container (1000)
+ chown -R 1000 data
+ # all access (for creating json database file data/updates.json)
+ chmod 700 data
+ # read access only
+ chmod 400 data/config.json
+
+Configuration for porkbun in config.json
+
+ {
+ "settings": [
+ {
+ "provider": "porkbun",
+ "domain": "domain.com",
+ "host": "@",
+ "api_key": "PORKBUN SECRET KEY",
+ "secret_api_key": "PORKBUN API KEY",
+ "ip_version": "ipv4"
+ }
+ ]
+ }
+
+Optional `"ttl"` paramter specifing A record TTL not included.
+
+### Usage
+ docker run -d -p 8000:8000/tcp -v "$(pwd)"/data:/updater/data qmcgaw/ddns-updater
+
+This will start a docker container that will start updating the DNS records.
+Status updates can be seen in a web server by going to localhost:8000.