add autoaupdater, update readme
autoupdater using systemd timer and service.
This commit is contained in:
7
autoupdater/tetosong.service
Normal file
7
autoupdater/tetosong.service
Normal file
@@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=tetosong updater
|
||||
Wants=tetosong.timer
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/bash -c "curl -s file:///home/eric/GitHub/TetoSongOfTheDay/autoupdater/updater.sh | bash"
|
||||
10
autoupdater/tetosong.timer
Normal file
10
autoupdater/tetosong.timer
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Run tetosong service once a week
|
||||
|
||||
[Timer]
|
||||
OnCalendar=Sun *-*-* 05:00:00
|
||||
Persistent=true
|
||||
Unit=tetosong.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
34
autoupdater/updater.sh
Normal file
34
autoupdater/updater.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/bash
|
||||
# download custom fortunes and config file
|
||||
echo "Updating tetosong..."
|
||||
# check if the config file exists, if not download it and prompt the user for options.
|
||||
if [ ! -f ~/.local/share/tetosong/tetosong.config ]; then
|
||||
echo "Config file not found, downloading default..."
|
||||
curl -sLo ~/.local/share/tetosong/tetosong.config https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetosong.config
|
||||
fi
|
||||
mkdir -p ~/.local/share/tetosong
|
||||
curl -sLo ~/.local/share/tetosong/tetofortunes https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetofortunes
|
||||
curl -sLo ~/.local/share/tetosong/tetofortunes.dat https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetofortunes.dat
|
||||
curl -sLo ~/.local/share/tetosong/sv2SOTD.wav https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/sv2SOTD.wav
|
||||
|
||||
# set up autoupdater
|
||||
# # i use systemd, so i use systemd timers. I'll figure out something for non-systemd users later.
|
||||
AUTOUPDATE="$(. ~/.local/share/tetosong/tetosong.config; echo $AUTOUPDATE)"
|
||||
if [ "$AUTOUPDATE" = "YES" ]; then
|
||||
# write and enable systemd service file and timer user services
|
||||
echo "Auto-Updater enabled, updating service..."
|
||||
mkdir -p ~/.config/systemd/user
|
||||
curl -sLo ~/.config/systemd/user/tetosong.service https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/autoupdater/tetosong.service
|
||||
curl -sLo ~/.config/systemd/user/tetosong.timer https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/autoupdater/tetosong.timer
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable tetosong.timer
|
||||
systemctl --user start tetosong.timer
|
||||
else
|
||||
echo "Autoupdater disabled, skipping service update."
|
||||
fi
|
||||
# write tetosong to ~/.local/bin and tell the user how to use it.
|
||||
echo "writing tetosong to ~/.local/bin"
|
||||
mkdir -p ~/.local/bin
|
||||
curl -sLo ~/.local/bin/tetosong https://raw.githubusercontent.com/eric5949/tetosong/refs/heads/main/tetosong
|
||||
chmod +x ~/.local/bin/tetosong
|
||||
echo "Update complete"
|
||||
Reference in New Issue
Block a user