From 178173b6282a6a9364cd511e9d05519a706277e9 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sun, 14 Jun 2020 08:46:46 -0500 Subject: [PATCH] Add systemd scripts and instructions --- Makefile | 19 ++++++++++++ README.md | 31 ++++++++++++++++++- .../hetzner-ddns.conf.example | 0 etc/systemd/hetzner-ddns.service | 11 +++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Makefile rename hetzner-ddns.conf.example => etc/hetzner-ddns.conf.example (100%) create mode 100644 etc/systemd/hetzner-ddns.service diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7b83e28 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +install: + cp hetzner-ddns.py /usr/local/bin + cp etc/hetzner-ddns.conf.example /etc + cp etc/systemd/hetzner-ddns.service /etc/systemd/system/ + +uninstall: + rm /usr/local/bin/hetzner-ddns.py + rm /etc/hetzner-ddns.conf.example + rm /etc/systemd/system/hetzner-ddns.service + +enable: + systemctl enable hetzner-ddns + +disable: + systemctl disable hetzner-ddns + +start: + systemctl start hetzner-ddns + diff --git a/README.md b/README.md index 24ea1de..fa3f581 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,35 @@ Options: --disable-v6 Do not update IPv6 address ``` +## Running during boot + +The instructions below were tested on Ubuntu Linux 20.04 LTS. + +1. Install `python3` and `pip`: + + apt install python3 + +2. Install package dependencies: + + pip install docopt + +3. Clone the repository somewhere: + + cd /opt + git clone https://github.com/iSoron/hetzner-ddns.git + +4. Install the script system-wide: + + cd hetzner-ddns + sudo make install + +5. Create a configuration file in `/etc/hetzner-ddns.conf` with you API token. See `/etc/hetzner-ddns.conf.example` for an example. + +6. Run script and enable it during boot: + + systemctl start hetzner-ddns + systemctl enable hetzner-ddns + ## License -MIT \ No newline at end of file +MIT diff --git a/hetzner-ddns.conf.example b/etc/hetzner-ddns.conf.example similarity index 100% rename from hetzner-ddns.conf.example rename to etc/hetzner-ddns.conf.example diff --git a/etc/systemd/hetzner-ddns.service b/etc/systemd/hetzner-ddns.service new file mode 100644 index 0000000..d807caa --- /dev/null +++ b/etc/systemd/hetzner-ddns.service @@ -0,0 +1,11 @@ +[Unit] +Description=Hetzner Dynamic DNS Updater +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/hetzner-ddns.py + +[Install] +WantedBy=multi-user.target