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:
parent
ce71ef1e81
commit
0de8e237a0
1 changed files with 79 additions and 0 deletions
79
install.sh
Normal file
79
install.sh
Normal 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!"
|
Loading…
Add table
Add a link
Reference in a new issue