mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
* [Docs] add `sudo systemctl disable` to Linux auto-restart docs * [Docs] fix typo in Linux auto-restart docs * [Docs] update Mac auto-restart docs * [Docs] implement suggestions for Linux auto-restart docs Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com> * [Docs] update wording on Mac auto-restart docs * [Docs] fix grammar in Linux auto-restart docs Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
110 lines
3.0 KiB
ReStructuredText
110 lines
3.0 KiB
ReStructuredText
.. launchd guide
|
|
|
|
==============================
|
|
Setting up auto-restart on Mac
|
|
==============================
|
|
|
|
-----------------------
|
|
Creating the plist file
|
|
-----------------------
|
|
|
|
Start by activating your venv. Then run the following command:
|
|
|
|
.. code-block:: none
|
|
|
|
which python
|
|
|
|
Copy the output of that command.
|
|
|
|
Now run :code:`sudo nano /Library/LaunchDaemons/red.plist`
|
|
|
|
Paste the following and replace the following:
|
|
|
|
- all instances of :code:`username` with your Mac username
|
|
- :code:`path` with the path you copied earlier
|
|
- :code:`instance-name` with your instance name:
|
|
|
|
.. code-block:: none
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>Label</key>
|
|
<string>red</string>
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>path</string>
|
|
<string>-O</string>
|
|
<string>-m</string>
|
|
<string>redbot</string>
|
|
<string>instance-name</string>
|
|
<string>--no-prompt</string>
|
|
</array>
|
|
<key>RunAtLoad</key>
|
|
<true/>
|
|
<key>KeepAlive</key>
|
|
<dict>
|
|
<key>SuccessfulExit</key>
|
|
<false/>
|
|
</dict>
|
|
<key>StandardOutPath</key>
|
|
<string>/tmp/red_out.log</string>
|
|
<key>StandardErrorPath</key>
|
|
<string>/tmp/red_err.log</string>
|
|
<key>UserName</key>
|
|
<string>username</string>
|
|
<key>InitGroups</key>
|
|
<true/>
|
|
</dict>
|
|
</plist>
|
|
|
|
.. note::
|
|
|
|
You may add any additional arguments you need to add to the :code:`redbot` command by
|
|
adding them to the end of the array under :code:`ProgramArguments`
|
|
|
|
.. note::
|
|
|
|
Should you need to set up auto-restart for additional bots, create a :code:`.plist` file for
|
|
each bot under a different file name, and use the respective file names for the commands below.
|
|
|
|
Save and exit :code:`ctrl + O; enter; ctrl + x`
|
|
|
|
-------------------------------
|
|
Starting and loading the plist
|
|
-------------------------------
|
|
|
|
To start the bot and set it to start on boot, you must run the following command:
|
|
|
|
.. prompt:: bash
|
|
|
|
sudo launchctl load -w /Library/LaunchDaemons/red.plist
|
|
|
|
If you need to shutdown the bot, you can use the ``[p]shutdown`` command or
|
|
type the following command in the terminal:
|
|
|
|
.. prompt:: bash
|
|
|
|
sudo launchctl stop red
|
|
|
|
To start the bot again after a shutdown, run the following:
|
|
|
|
.. prompt:: bash
|
|
|
|
sudo launchctl start red
|
|
|
|
To stop the bot and set it to not start on boot anymore, run the following:
|
|
|
|
.. prompt:: bash
|
|
|
|
sudo launchctl unload -w /Library/LaunchDaemons/red.plist
|
|
|
|
To view Red's log, run the following (:code:`red_out.log` is for the console output, and
|
|
:code:`red_err.log` for the error logs):
|
|
|
|
.. prompt:: bash
|
|
|
|
nano /tmp/red_out.log
|
|
nano /tmp/red_err.log
|