Installation - thomst08/requestrr GitHub Wiki

Table of Contents:


Unraid

Install the Unraid Communication Applications Plugin, then inside the plugin search for Requestrr and then click download.

Updating for Unraid

Unraid should automatically detect that updates are available and present you with an update button to click on. Some users have reported that sometimes it takes a while for Unraid to realize that's an update, apparently restarting Unraid fixes it.


Docker

Make sure that you've installed docker on your computer, then install Requestrr via docker by typing the following command:

docker run -d \
  --name requestrr \
  -p 4545:4545 \
  -v path to config:/root/config \
  --restart=unless-stopped \
  thomst08/requestrr

Make sure to replace the path to config by the path on your computer where you wish to store Requestrr's configuration, failure to do this will result in a loss of all settings whenever you will update Requestrr.

If you need a configuration folder created and docker setup with no issues (and you are using Linux), you can use the follow commands:

mkdir /opt/Requestrr
mkdir /opt/Requestrr/config
docker run -d \
  --name requestrr \
  -p 4545:4545 \
  -v /opt/Requestrr/config:/root/config \
  --restart=unless-stopped \
  thomst08/requestrr

Then open http://localhost:4545 in your browser to access the web portal.

For Docker-Compose

A docker-compose file is provided here, make sure to make sure to replace the path to config before running the script.

Updating for Docker

To update Requestrr once it's been installed via docker, type in the following commands: (Might need to add sudo for Unix based Operating Systems)

docker kill requestrr
docker rm requestrr
docker pull thomst08/requestrr

Then run the docker command shown in the docker installation section to re-install Requestrr.

Note: Requestrr can be set-up to update automatically using services designed to monitor docker containers such as WatchTower


Linux

Requestrr is a .NET project, before you can run it on your system, make sure at least .NET 6 runtime is installed. (.NET 8 can be found here).

Download the latest version of Requestrr here. Extract the tar file into your target directory then start the bot using ./Requestrr.WebApi. Use the following commands to download, extract and run Requestrr.

wget https://github.com/thomst08/requestrr/releases/download/{url to latest file}.tar.gz
tar -xzvf ./requestrr-linux-{arch}.tar.gz
cd ./requestrr-linux-{arch}
./Requestrr.WebApi

Optionally, you can use the zip file to extract Requestrr, but be aware, these files do not contain Unix permissions, you will need to manually set them up, an example of these commands is bellow.

wget https://github.com/thomst08/requestrr/releases/download/{url to latest file}.zip
unzip ./requestrr-linux-{arch}.zip
chmod -R +X ./requestrr-linux-{arch}/
chmod +x ./requestrr-linux-{arch}/Requestrr.WebApi
cd ./requestrr-linux-{arch}
./Requestrr.WebApi

Note: Zip versions of Linux will be removed in future releases. Scripts should be changed to use the tar files instead.

Then open http://localhost:4545 in your browser to access the web portal.

Auto-Start on Linux

Follow the instructions to download Requestrr from above, once you have download the folders onto your computer, you will need to move the program into the /opt folder, you will also need to setup a user for Requestrr to run in, this could be root, however, it is recommended to setup it's own user. The following commands will guide you through this process, you may need to use sudo with these commands as you will need root access.

To setup a user for Requestrr, use the following command:

adduser --system --group --no-create-home requestrr

The following command will move Requestrr to the /opt/ folder and change the permissions to the Requestrr user.

mv ./requestrr-linux-{arch} /opt/Requestrr
chown requestrr:requestrr -R /opt/Requestrr

Next, create a new file called requestrr.service inside of /etc/systemd/system then copy this content inside of the file:

[Unit]
Description=Requestrr Daemon
After=syslog.target network.target

[Service]
User=requestrr
Group=requestrr
Type=simple
WorkingDirectory=/opt/Requestrr
ExecStart=/opt/Requestrr/Requestrr.WebApi
TimeoutStopSec=20
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

Then open the terminal and execute the following commands

systemctl enable requestrr.service
systemctl start requestrr.service

To check the status of the service you can use the following command

systemctl status requestrr.service

Updating for Linux

Make sure that you have stopped Requestrr, then download the latest version of Requestrr here and then extract it over your current installation folder, when it asks if you want to overwrite files, choose to overwrite all files (you will not lose any settings) then start Requestrr again.

Note: make sure when applying the new files, any permissions you have set are reapplied as they can be lost during this process. This can be done using the chmod commands from the install process.


Windows

Requestrr is a .NET project, before you can run it on your system, make sure at least .NET 6 runtime is installed. (.NET 8 can be found here).

Download the latest version of Requestrr here. Extract the zip file into your target directory then run Requestrr.WebApi.exe to start the bot.

Then open http://localhost:4545 in your browser to access the web portal.

Updating for Windows

Make sure that you have stopped Requestrr, then download the latest version of Requestrr here and then extract it over your current installation folder, when it asks if you want to overwrite files, choose to overwrite all files (you will not lose any settings) then start Requestrr again. Make sure the new files are set to the correct user and the program has the execution permission


macOS

Requestrr is a .NET project, before you can run it on your system, make sure at least .NET 6 runtime is installed. (.NET 8 can be found here).

Download the latest version of Requestrr here. Extract the zip (or tar.gz) file into your target directory then start the bot using ./Requestrr.WebApi. You may need to set the permissions to the program before you run it, if you extracted the program to you ```Applications`` folder, use the following command.

chmod -R +x /Applications/requestrr-osx-x64

Note: This command may need to be ran with sudo

Then open http://localhost:4545 in your browser to access the web portal.

Updating for macOS

Make sure that you have stopped Requestrr, then download the latest version of Requestrr here and then extract it over your current installation folder, when it asks if you want to overwrite files, choose to overwrite all files (you will not lose any settings) then start Requestrr again.

After extracting the files, you may need to rerun the same permission command above.


Other Setups

Hotio Setup

Hotio have a collection of awesome containers! If this setup suits you better, you are more then welcome to use their containers.

Setup can be found here


Advanced Options

Program/Command Line Arguments

Requestrr supports arguments when executing, the following arguments are supported.

  • -h, --help
    • Prints the following message
Requestrr version: {version number}
Description:
  A chatbot used to connectservices like Sonarr/Radarr/Overseerr/Ombi to Discord

Options:
  -h, --help           Displays the help message and exits the program
  -c, --config-dir     Change the config folder
                       Example: Requestrr.WebApi.exe -c "C:\Requestrr\config"
                                Requestrr.WebApi -c /opt/Requestrr/config
                                Requestrr.WebApi.exe -c ./config
  -p, --port           Change the port of Requestrr, this will update the config file
                       This allows for the changing of the port used for Requestrr, eg: http://localhost:port
                       Example: Requestrr.WebApi.exe -p 4546
                                Requestrr.WebApi --port 4547
  -u, --base-url       Change the base URL of Requestrr, this will update the config file
                       This allows the changing of the base URL to access Requestrr, eg: http://localhost:4545/baseURL
                       Example: Requestrr.WebApi.exe -u "/requestrr"
                                Requestrr.WebApi --base-url "/"
                                Requestrr.WebApi.exe -u ""

  • -c, --config-dir
    • Allows the overriding of the configuration folder, by default, Requestrr loads the configuration folders location from the appsettings.json file, this command will ignore this file and locate the settings in the specified location, if the folder or settings to not exist, then it will tryed to create them.
  • -p, --port
    • This allows you to change the port number for Requestrr, this will update the settings.json file and becomes permanent after the first run, this argument only needs to be run once for it to apply.
  • -u, --base-url
    • This allows you to change the base URL for Requestrr, this will update the settings.json file and becomes permanent after the first run, this argument only needs to be run once for it to apply.

Changing the configuration folder location

By default, Requestrr stores all config files in a folder called config in the root folder of the applications, this folder contains settings.json, notification.json and any temp files and folders.

This folder can be moved permanently without needing command arguments, this can we done in the appsettings.json file located in the root folder of the application.

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConfigFolder": "./config"
}

Change the "ConfigFolder" to a new path, this is relitive to the applications exacutables location, however, this can be a full path. For example, if you wish to safe the config in opt/Requestrr/config, the setting will be:

{
  ...
  "ConfigFolder": "/opt/Requestrr/config"
}
⚠️ **GitHub.com Fallback** ⚠️