feat: created installation helper script

This script will create a basic systemd user service and timer,
and then optionally activate them. It will also create the
config directory and optionally put in an example config
using the RSS feed from Phoronix (the Linux news site).

This will likely need some tweaking in the future.
This commit is contained in:
A.M. Rowsell 2025-04-16 16:55:50 -04:00
commit 0de8e237a0
Signed by: amr
GPG key ID: 0B6E2D8375CF79A9

79
install.sh Normal file
View file

@ -0,0 +1,79 @@
#!/bin/bash
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# This script will set up a basic systemd service and timer for DiscoRSS
# You can optionally edit the entries here before running it, or you can
# use systemctl --user edit --full discorss.service or discorss.timer
# after installing them.
cat << EOF > discorss.service
[Unit]
Description=Discord RSS feeder
Wants=discorss.timer
[Service]
Type=oneshot
ExecStart=/home/amr/workspace/python/discorss/discorss.py
[Install]
WantedBy=default.target
EOF
cat << EOF > discorss.timer
[Unit]
Description=Timer for DiscoRSS
Requires=discorss.service
[Timer]
Unit=discorss.service
OnCalendar=*:0/5:00
AccuracySec=1s
[Install]
WantedBy=timers.target
EOF
cp discorss.service ~/.config/systemd/user/
cp discorss.timer ~/.config/systemd/user/
systemctl --user daemon-reload
printf "Would you like a basic example config created for you? [y/n]"
read answer1
if [ "$answer1" =~ ^[yYnN]$ ]; then
mkdir -p -v ~/.config/discorss
cat << EOF > ~/.config/discorss/discorss.conf
{
"feeds": [
{
"name": "Phoronix",
"siteurl": "https://www.phoronix.com/",
"url": "http://www.phoronix.com/rss.php",
"webhook": "PASTE WEBHOOK URL HERE",
"offset": 0,
}
],
}
EOF
printf "Make sure to edit ~/.config/discorss/discorss.conf and add in your custom feeds and webhook URLS! The script will just error out if you don't do this."
else
printf "Make sure to create a config at ~/.config/discorss/discorss.conf and follow the pattern shown in the README."
fi
printf "Would you like to have the timer enabled and started now? [y/n]"
read answer
if [ "$answer" =~ ^[yYnN]$ ]; then
systemctl --user enable --now discorss.timer
printf "discorss.timer enabled and started. Don't enable or start discorss.service -- the timer does this automatically."
else
printf "Don't forget to run systemctl --user enable --now discorss.timer when you are ready! Don't enable or start discorss.service -- the timer does this automatically."
fi
printf "You should be almost ready to go! Double-check your config files, and check systemctl --user list-timers once the discorss.timer is enabled to see when it will fire next. The default is every 5 minutes."
printf "Remember, if you need help or encounter any bugs, contact me via the issues tracker on the git repository where you got this from!"