Compare commits

...

2 Commits

Author SHA1 Message Date
joeac c42c636231 splits sudo to avoid env confusion 2026-07-03 15:08:46 +01:00
joeac 99b21dbe8e stores src in $HOME and more perm tweaks 2026-07-03 15:01:48 +01:00
4 changed files with 26 additions and 32 deletions
+16 -13
View File
@@ -44,21 +44,26 @@ if [ -z "$(grep "\bjoeac.net\b" /etc/group)" ]
then then
sudo adduser -D -h /home/joeac.net joeac.net sudo adduser -D -h /home/joeac.net joeac.net
sudo adduser joeac.net joeac.net sudo adduser joeac.net joeac.net
sudo adduser $(whoami) joeac.net fi
su -l $(whoami)
if ! ( expr "$(groups joeac.net)" wheel )
then
sudo adduser joeac.net wheel
fi
su -l joeac.net
if ! [ $(whoami) = "joeac.net" ]
then
echo "Could not log in to user: joeac.net. Log in manually and re-run this script as joeac.net."
exit 1
fi fi
if ! [ -d /home/joeac.net/joeac.net/.git ] if ! [ -d /home/joeac.net/joeac.net/.git ]
then then
sudo -u joeac.net git clone https://git.joeac.net/joeac/joeac.net.git /home/joeac.net/joeac.net git clone https://git.joeac.net/joeac/joeac.net.git /home/joeac.net/joeac.net
fi fi
sudo chown joeac.net:joeac.net /home/joeac.net/joeac.net sudo chown joeac.net:joeac.net /home/joeac.net/joeac.net
sudo chmod 770 /home/joeac.net/joeac.net sudo chmod 770 /home/joeac.netjoeac.net
if ! [ -h /usr/local/lib/joeac.net ]
then
sudo ln -s /home/joeac.net/joeac.net /usr/local/lib/joeac.net
fi
if ! [ -f DIGITALOCEAN_TOKEN ] if ! [ -f DIGITALOCEAN_TOKEN ]
then then
@@ -79,8 +84,6 @@ then
unset REMOTE_SMTP_PASSWORD unset REMOTE_SMTP_PASSWORD
fi 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 while read line
do do
if expr "${line}" : "[[:alnum:]_]\+=" 1>/dev/null if expr "${line}" : "[[:alnum:]_]\+=" 1>/dev/null
@@ -106,5 +109,5 @@ do
fi fi
done </home/joeac.net/joeac.net/example.env done </home/joeac.net/joeac.net/example.env
sudo -u joeac.net make --directory=/home/joeac.net/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 install
+6 -17
View File
@@ -29,10 +29,10 @@ $(foreach module,$(ALL_MODULES), $(eval $(uninstall_dyndns_module_rule)))
remove_/etc/periodic/daily/dyndns-%.joeac.net: remove_/etc/periodic/daily/dyndns-%.joeac.net:
rm -f $(@:remove_%=%) 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 "#!/bin/sh" > crontab.tmp
echo " /usr/local/bin/dyndns.sh 4 $(*F)joeac.net" >> crontab.tmp echo " $(shell realpath ~)/digitalocean_dyndns/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 "CONN_DEVICE_NAME=eth0 $(shell realpath ~)/digitalocean_dyndns/dyndns.sh 6 $(*F)joeac.net" >> crontab.tmp
sudo mv crontab.tmp $@ sudo mv crontab.tmp $@
sudo chmod +x $@ sudo chmod +x $@
@@ -42,23 +42,12 @@ reinstall_dyndns: $(addprefix remove_,$(dyndns_crontabs_to_remove))
.PHONY: uninstall_dyndns .PHONY: uninstall_dyndns
uninstall_dyndns: $(foreach module,$(ALL_MODULES),$(uninstall_dyndns_$(module))) uninstall_dyndns: $(foreach module,$(ALL_MODULES),$(uninstall_dyndns_$(module)))
sudo rm -rf \ sudo rm -rf \
/usr/local/bin/dyndns.sh \ ~/digitalocean_dyndns/ \
/usr/local/bin/get_ip_addr.sh \
/usr/local/lib/digitalocean_dyndns/ \
~/.config/dyndns \ ~/.config/dyndns \
~/.cache/dyndns ~/.cache/dyndns
/usr/local/bin/dyndns.sh: /usr/local/lib/digitalocean_dyndns/dyndns.sh /usr/local/bin/get_ip_addr.sh ~/digitalocean_dyndns/%:
sudo rm -f /usr/local/bin/dyndns.sh git clone https://git.joeac.net/joeac/digitalocean_dyndns.git ~/digitalocean_dyndns
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
~/.config/dyndns/DIGITALOCEAN_TOKEN: DIGITALOCEAN_TOKEN ~/.config/dyndns/DIGITALOCEAN_TOKEN: DIGITALOCEAN_TOKEN
mkdir -p ~/.config/dyndns/ mkdir -p ~/.config/dyndns/
+2 -1
View File
@@ -65,7 +65,8 @@ $(foreach module,$(MODULES),$(eval $(openrc_restart_rule)))
sudo ln -s /etc/init.d/user /etc/init.d/user.$(USER) sudo ln -s /etc/init.d/user /etc/init.d/user.$(USER)
/etc/conf.d/user.$(USER): openrc/conf.d/user.template /etc/conf.d/user.$(USER): openrc/conf.d/user.template
sudo USER=$(USER) envsubst -i openrc/conf.d/user.template -o /etc/conf.d/user.$(USER) USER=$(USER) envsubst -i openrc/conf.d/user.template -o openrc/conf.d/user.$(USER)
sudo mv openrc/conf.d/user.$(USER) /etc/conf.d/user.$(USER)
sudo rc-update add user.$(USER) default sudo rc-update add user.$(USER) default
.PHONY: uninstall_joeac.net_service .PHONY: uninstall_joeac.net_service
+2 -1
View File
@@ -3,8 +3,9 @@
# https://gist.github.com/itzwam/2069e935385193207f7e5bea7156e21d # https://gist.github.com/itzwam/2069e935385193207f7e5bea7156e21d
# https://github.com/0x17de/dockerservice-openrc # https://github.com/0x17de/dockerservice-openrc
: ${HOME:=/home/joeac.net}
: ${MODULENAME:=${RC_SVCNAME##*.}} : ${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"} DOCKER_COMPOSE_UP_ARGS=${DOCKER_COMPOSE_UP_ARGS-"--no-build --no-recreate --no-deps"}
[ -z "${MODULENAME}" ] && exit 1 [ -z "${MODULENAME}" ] && exit 1