### Shortcomings
I wanted a clean app for the sole purpose of requesting movies/TV shows.
I personally didn't need Siri, Overseerr, or Ombi integration - so those are missing in this bot.
If enough people would like to see those features, please request it.
As such, there is only a boolean permission (role gated) for who has access to the bot, nothing fancy.
## Setup
### Discord
1. Create a new [Application](https://discord.com/developers/applications) in Discord
2. Go to the Bot tab and add a new bot
3. Copy out the token
4. Go to OAuth2 and under "OAuth2 URL Generator", enable `applications.commands` and `bot`
5. Copy the resulting URL and use as the invite link to your server
In the server for which you will use the bot, you need to create a new role for
your users. Then, grab that role id.
To do this:
1. Enable Developer Mode (User Settings -> Advanced -> Developer Mode)
2. Under your server settings, go to Roles, find the role and "Copy ID"
### Sonarr/Radarr
1. Copy out your API keys from Settings -> General
## Running with Docker
Simply run with
```bash
docker run \
-e SONARR_URL='http://localhost:8989' \
-e RADARR_URL='http://localhost:7878' \
-e SONARR_API='sonarr_api' \
-e RADARR_API='radarr_api' \
-e MAX_RESULTS=10 \
-e BOT_TOKEN='bot_token' \
-e ROLE_ID='role_id' \
--name doplarr ghcr.io/kiranshila/doplarr:main
```
## Building and Running Locally
You need the Clojure CLI tools to build
1. Clone directory
2. `clj -T:build uberjar`
### Configuring
1. Fill out `config.edn` with the requisite things
### Setting up as a service (On Linux (Systemd))
1. Create the file /etc/systemd/system/doplarr.service with the following
```ini
[Unit]
Description=Doplarr Daemon
After=syslog.target network.target
[Service]
User=root
Group=root
Type=simple
WorkingDirectory=/opt/Doplarr
ExecStart=/usr/bin/java -jar target/Doplarr.jar -Dconfig=config.edn
TimeoutStopSec=20
KillMode=process
Restart=always
[Install]
WantedBy=multi-user.target
```
2. Customize the user, group, and working directory to the location of the jar
Then, as root
3. `systemctl -q daemon-reload`
4. `systemctl enable --now -q doplarr`