supybot-botchk: Swap the two sections, to have systemd first

This commit is contained in:
Valentin Lorentz 2021-05-03 23:49:52 +02:00
parent 92f3d1b17a
commit 6d20ec3a1b

View File

@ -9,6 +9,53 @@ in case of crash or system reboot or anything that can make the bot quit.
Note that you only need to use one. Note that you only need to use one.
systemd service
===============
You need root access as no one has got this to work as user service yet.
You must also use systemd as your init.
Create a new file ``/etc/systemd/system/<BOTNAME>.service`` with the
following content replacing things were suitable::
[Unit]
Description=Supybot
After=network.target
[Service]
Environment="PATH=/usr/local/bin:/usr/local/sbin:/usr/local/games:/usr/bin:/usr/sbin:/usr/games:/bin:/sbin:/bin:/opt/local/bin:/opt/local/sbin:/opt/local/games TZ=UTC"
Type=simple
ExecStart=/usr/local/bin/supybot /home/bot/botname/botname.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=BOTUSERNAME
SyslogIdentifier=Supybot
# Uncomment these lines for extra security at the cost of breaking some third-party plugins:
# SystemCallFilter=~@raw-io @clock @cpu-emulation @debug @keyring @module @mount @obsolete @privileged @raw-io
# ProtectSystem=strict
# ProtectHome=read-only
# ReadWritePaths=/home/bot/botname
[Install]
WantedBy=multi-user.target
Now you should run ``systemctl daemon-reload`` to make systemd aware
of changed files and ``systemctl enable <BOTNAME>.service`` to make the
bot start on boot etc. and ``systemctl start <BOTNAME>.service`` to start
the bot.
Remember to check the ``Environment`` line. You can get your PATH with
``printf 'PATH=%s\n' "$PATH"``.
Some commands
-------------
* autostart on boot: ``systemctl enable <BOTNAME>.service``
* disable autostart on boot: ``systemctl disable <BOTNAME>.service``
* start the bot: ``systemctl start <BOTNAME>.service``
* stop the bot: ``systemctl stop <BOTNAME>.service``
* reload config files: ``systemctl reload <BOTNAME>.service``
supybot-botchk supybot-botchk
============== ==============
@ -79,50 +126,3 @@ If you are wondering what ``*/5 * * * *`` means, it simply means "run this
every five minutes every day". The 5 can be replaced with any other number every five minutes every day". The 5 can be replaced with any other number
and there are also ``@hourly`` etc. which can be used on it's place, but and there are also ``@hourly`` etc. which can be used on it's place, but
you most likely won't want to wait hour or more if your bot crashes. you most likely won't want to wait hour or more if your bot crashes.
systemd service
===============
You need root access as no one has got this to work as user service yet.
You must also use systemd as your init.
Create a new file ``/etc/systemd/system/<BOTNAME>.service`` with the
following content replacing things were suitable::
[Unit]
Description=Supybot
After=network.target
[Service]
Environment="PATH=/usr/local/bin:/usr/local/sbin:/usr/local/games:/usr/bin:/usr/sbin:/usr/games:/bin:/sbin:/bin:/opt/local/bin:/opt/local/sbin:/opt/local/games TZ=UTC"
Type=simple
ExecStart=/usr/local/bin/supybot /home/bot/botname/botname.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=BOTUSERNAME
SyslogIdentifier=Supybot
# Uncomment these lines for extra security at the cost of breaking some third-party plugins:
# SystemCallFilter=~@raw-io @clock @cpu-emulation @debug @keyring @module @mount @obsolete @privileged @raw-io
# ProtectSystem=strict
# ProtectHome=read-only
# ReadWritePaths=/home/bot/botname
[Install]
WantedBy=multi-user.target
Now you should run ``systemctl daemon-reload`` to make systemd aware
of changed files and ``systemctl enable <BOTNAME>.service`` to make the
bot start on boot etc. and ``systemctl start <BOTNAME>.service`` to start
the bot.
Remember to check the ``Environment`` line. You can get your PATH with
``printf 'PATH=%s\n' "$PATH"``.
Some commands
-------------
* autostart on boot: ``systemctl enable <BOTNAME>.service``
* disable autostart on boot: ``systemctl disable <BOTNAME>.service``
* start the bot: ``systemctl start <BOTNAME>.service``
* stop the bot: ``systemctl stop <BOTNAME>.service``
* reload config files: ``systemctl reload <BOTNAME>.service``