docker-apps/cloudflareddns/cloudflareddns_jm.txt
2025-04-03 22:57:52 +02:00

72 lines
2.7 KiB
Plaintext

# https://hotio.dev/containers/cloudflareddns/
Create user and group
---------------------
Credentials -> Local Users -> Add
Full Name: cloudflareddns
Username: cfddns
Disable Password: <select>
Email: stuurmcp@telkomsa.net
UID: (note)
Create New Primary Group: <select>
Create Home Directory: <uncheck>
Samba Authentication: <uncheck>
Save
cfddns UID: 3033
cfddns GID: 3032
Create datasets
---------------
# In Truenas shell:
# list datasets
zfs list | grep -i "docker.*cloudflareddns"
# create following dataset if not present
zfs create SSD1/docker/data/cloudflareddns/config
chown -R cfddns:cfddns /mnt/SSD1/docker/data/cloudflareddns
Create folders
--------------
mkdir -p /mnt/SSD1/docker/stacks/cloudflareddns/secrets
Create secrets (unfortunately, cloudflareddns doesn't support secrets, so apply the secret values in the .env file)
-------------------------------------------------------------------------------------------------------------------
cd /mnt/SSD1/docker/stacks/cloudflareddns/secrets
echo -n 'your_cf_email' > /mnt/SSD1/docker/stacks/cloudflareddns/secrets/cloudflareddns_cf_user
# it is assumed that your api token has all zones in scope:
# we use a scoped api token:
echo -n 'your_cf_api_token' > /mnt/SSD1/docker/stacks/cloudflareddns/secrets/cloudflareddns_cf_api_token
# create secret by concatenating hosts/domains in scope; separate with semicolons (as per hotio guide)
echo -n 'your_cf_1st_host;your_cf_2nd_host' > /mnt/SSD1/docker/stacks/cloudflareddns/secrets/cloudflareddns_cf_hosts
# create secret by concatenating zone ids; separate with semicolons
echo -n 'your_cf_1st_zone_id;your_cf_2nd_zone_id' > /mnt/SSD1/docker/stacks/cloudflareddns/secrets/cloudflareddns_cf_zones
# restrict access
cd /mnt/SSD1/docker/stacks/cloudflareddns
chown -R cfddns:cfddns secrets/
chmod -R 400 secrets/
Copy folder to docker stacks
----------------------------
# In Windows cmd shell in cloudflareddns folder, enter:
./cp2nas 192.168.2.2
# or
pscp -P 22 -r stacks/*.* root@192.168.2.2:/mnt/SSD1/docker/stacks/cloudflareddns/
# This should copy stacks folder to /mnt/SSD1/docker/stacks/cloudflareddns
Migrating data from old cloudflareddns media server (source) to newly installed one (target)
----------------------------------------------------------------------------------
# Stop old/source cloudflareddns media server
heavyscript app --stop cloudflareddns
# Stop new/target cloudflareddns media server
# On Dockge, select cloudflareddns and click stop
# Copy the source config to target folder:
cp -vpr /mnt/stpool1/apps/cloudflareddns/* /mnt/SSD1/docker/data/cloudflareddns/config/
chown -R cfddns:cfddns /mnt/SSD1/docker/data/cloudflareddns/config
chmod -R 600 /mnt/SSD1/docker/data/cloudflareddns/config/