summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-07-03 15:01:48 +0100
committerJoe Carstairs <me@joeac.net>2026-07-03 15:01:48 +0100
commit99b21dbe8e134fbb77899e218c22a69830e73e8d (patch)
tree915922262b687aaf42c2fb4ae90a7450c8391901
parent3af454683946a00772979a5dc88b53311be05612 (diff)
stores src in $HOME and more perm tweaks
-rw-r--r--install.sh27
-rw-r--r--make/dyndns.mk23
-rwxr-xr-xopenrc/init.d/joeac.net3
3 files changed, 23 insertions, 30 deletions
diff --git a/install.sh b/install.sh
index 521c321..a9b7e3a 100644
--- a/install.sh
+++ b/install.sh
@@ -44,22 +44,27 @@ if [ -z "$(grep "\bjoeac.net\b" /etc/group)" ]
then
sudo adduser -D -h /home/joeac.net joeac.net
sudo adduser joeac.net joeac.net
- sudo adduser $(whoami) joeac.net
- su -l $(whoami)
fi
-if ! [ -d /home/joeac.net/joeac.net/.git ]
+if ! ( expr "$(groups joeac.net)" wheel )
then
- sudo -u joeac.net git clone https://git.joeac.net/joeac/joeac.net.git /home/joeac.net/joeac.net
+ sudo adduser joeac.net wheel
fi
-sudo chown joeac.net:joeac.net /home/joeac.net/joeac.net
-sudo chmod 770 /home/joeac.net/joeac.net
-if ! [ -h /usr/local/lib/joeac.net ]
+su -l joeac.net
+if ! [ $(whoami) = "joeac.net" ]
then
- sudo ln -s /home/joeac.net/joeac.net /usr/local/lib/joeac.net
+ echo "Could not log in to user: joeac.net. Log in manually and re-run this script as joeac.net."
+ exit 1
fi
+if ! [ -d /home/joeac.net/joeac.net/.git ]
+then
+ git clone https://git.joeac.net/joeac/joeac.net.git /home/joeac.net/joeac.net
+fi
+sudo chown joeac.net:joeac.net /home/joeac.net/joeac.net
+sudo chmod 770 /home/joeac.netjoeac.net
+
if ! [ -f DIGITALOCEAN_TOKEN ]
then
if [ -z "${DIGITALOCEAN_TOKEN}" ]
@@ -79,8 +84,6 @@ then
unset REMOTE_SMTP_PASSWORD
fi
-sudo -u joeac.net touch /home/joeac.net/joeac.net/.env
-sudo -u joeac.net chmod 760 /home/joeac.net/joeac.net/.env
while read line
do
if expr "${line}" : "[[:alnum:]_]\+=" 1>/dev/null
@@ -106,5 +109,5 @@ do
fi
done </home/joeac.net/joeac.net/example.env
-sudo -u joeac.net make --directory=/home/joeac.net/joeac.net
-sudo -u joeac.net make --directory=/home/joeac.net/joeac.net install
+make --directory=/home/joeac.net/joeac.net
+make --directory=/home/joeac.net/joeac.net install
diff --git a/make/dyndns.mk b/make/dyndns.mk
index 149f295..3d7f126 100644
--- a/make/dyndns.mk
+++ b/make/dyndns.mk
@@ -29,10 +29,10 @@ $(foreach module,$(ALL_MODULES), $(eval $(uninstall_dyndns_module_rule)))
remove_/etc/periodic/daily/dyndns-%.joeac.net:
rm -f $(@:remove_%=%)
-/etc/periodic/daily/dyndns-%joeac.net: /usr/local/bin/dyndns.sh ~/.config/dyndns/DIGITALOCEAN_TOKEN
+/etc/periodic/daily/dyndns-%joeac.net: ~/digitalocean_dyndns/dyndns.sh ~/.config/dyndns/DIGITALOCEAN_TOKEN
echo "#!/bin/sh" > crontab.tmp
- echo " /usr/local/bin/dyndns.sh 4 $(*F)joeac.net" >> crontab.tmp
- echo "CONN_DEVICE_NAME=eth0 /usr/local/bin/dyndns.sh 6 $(*F)joeac.net" >> crontab.tmp
+ echo " $(shell realpath ~)/digitalocean_dyndns/dyndns.sh 4 $(*F)joeac.net" >> crontab.tmp
+ echo "CONN_DEVICE_NAME=eth0 $(shell realpath ~)/digitalocean_dyndns/dyndns.sh 6 $(*F)joeac.net" >> crontab.tmp
sudo mv crontab.tmp $@
sudo chmod +x $@
@@ -42,23 +42,12 @@ reinstall_dyndns: $(addprefix remove_,$(dyndns_crontabs_to_remove))
.PHONY: uninstall_dyndns
uninstall_dyndns: $(foreach module,$(ALL_MODULES),$(uninstall_dyndns_$(module)))
sudo rm -rf \
- /usr/local/bin/dyndns.sh \
- /usr/local/bin/get_ip_addr.sh \
- /usr/local/lib/digitalocean_dyndns/ \
+ ~/digitalocean_dyndns/ \
~/.config/dyndns \
~/.cache/dyndns
-/usr/local/bin/dyndns.sh: /usr/local/lib/digitalocean_dyndns/dyndns.sh /usr/local/bin/get_ip_addr.sh
- sudo rm -f /usr/local/bin/dyndns.sh
- sudo cp /usr/local/lib/digitalocean_dyndns/dyndns.sh /usr/local/bin/dyndns.sh
-
-/usr/local/bin/get_ip_addr.sh: /usr/local/lib/digitalocean_dyndns/get_ip_addr.sh
- sudo rm -f /usr/local/bin/get_ip_addr.sh
- sudo cp /usr/local/lib/digitalocean_dyndns/get_ip_addr.sh /usr/local/bin/get_ip_addr.sh
-
-/usr/local/lib/digitalocean_dyndns/%:
- cd /usr/local/lib \
- && sudo git clone https://git.joeac.net/joeac/digitalocean_dyndns.git
+~/digitalocean_dyndns/%:
+ git clone https://git.joeac.net/joeac/digitalocean_dyndns.git ~/digitalocean_dyndns
~/.config/dyndns/DIGITALOCEAN_TOKEN: DIGITALOCEAN_TOKEN
mkdir -p ~/.config/dyndns/
diff --git a/openrc/init.d/joeac.net b/openrc/init.d/joeac.net
index afe79bd..2d35363 100755
--- a/openrc/init.d/joeac.net
+++ b/openrc/init.d/joeac.net
@@ -3,8 +3,9 @@
# https://gist.github.com/itzwam/2069e935385193207f7e5bea7156e21d
# https://github.com/0x17de/dockerservice-openrc
+: ${HOME:=/home/joeac.net}
: ${MODULENAME:=${RC_SVCNAME##*.}}
-: ${SRCDIR:=/usr/local/lib/joeac.net}
+: ${SRCDIR:=$HOME/joeac.net}
DOCKER_COMPOSE_UP_ARGS=${DOCKER_COMPOSE_UP_ARGS-"--no-build --no-recreate --no-deps"}
[ -z "${MODULENAME}" ] && exit 1