Doplarr Documentation

repository·main·Indexed 20 days ago

https://github.com/activexray/doplarr

Doplarr is a Clojure-based Discord request bot for *arr services, providing a UI for managing requests via slash commands and components. It supports Sonarr, Radarr, and Overseerr backends. This repository is maintained for legacy purposes and is no longer under active development, as it is being superseded by a Rust rewrite.

Tokens
2.6K
Snippets
9
Records
13
Agent score
70%

What's inside Doplarr

  1. Overview of Doplarr

    main

    Doplarr is an *arr Request Bot for Discord. It is designed to provide a clean, performant UI for managing requests using modern Discord slash commands and components.

    Key characteristics:

    • Privacy-focused: Uses slash commands and components instead of message content, meaning it does not require privileged intents and never reads message content.
    • Lightweight: Maintains a small codebase and simple configuration without requiring a web frontend.
    • Tech Stack: Powered by Clojure and Discljord.
  2. Run Doplarr using the JAR file

    main

    Doplarr is a Clojure application running on the JVM and is distributed as a single JAR executable.

    Requirements:

    • You must have Java 11 or higher installed. Check your version with java -version.
    • You must have both the Doplarr.jar file and a config.edn file.

    Steps:

    1. Download the JAR and config.edn from the releases.
    2. Populate the config.edn file with your settings.
    3. Execute the JAR using the -Dconfig flag to point to your configuration file.
    java -jar Doplarr.jar -Dconfig=<path to config file>
  3. Install Doplarr using Docker

    main

    Doplarr can be run as a Docker container using the image hosted at ghcr.io/kiranshila/doplarr:latest. This is the easiest path if you are using container orchestration like Portainer, Unraid, or Synology NAS.

    Configuration can be handled via environment variables, which is recommended when using Docker Compose to avoid mounting volumes for configuration files. If you prefer using a config file, pass the config environment variable pointing to the path inside the container.

    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 DISCORD__TOKEN='bot_token' \
    --name doplarr ghcr.io/kiranshila/doplarr:latest
  4. Run Doplarr as a systemd service (*Nix)

    main

    To run the JAR as a background daemon on systemd-based Linux systems, create a service file (e.g., /etc/systemd/system/doplarr.service).

    Note: You must update WorkingDirectory to your actual installation path and ensure ExecStart points to your specific Java binary path. You should also customize the User and Group fields for security.

    [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
  5. Set up the Discord Bot

    main

    To use Doplarr, you must first create a Discord Application and a Bot. Follow these steps:

    1. Create a new Application in the Discord Developer Portal.
    2. Navigate to the Bot tab and add a new bot.
    3. Copy the token; this value must be assigned to the DISCORD__TOKEN environment variable or the :discord/token config entry.
    4. Navigate to OAuth2 and use the OAuth2 URL Generator to enable the following scopes:
      • applications.commands
      • bot
    5. Copy the generated URL, paste it into a web browser, and authorize the bot to join your server.
    # No specific code block provided for setup steps, but the token is used in:
    DISCORD__TOKEN=your_token_here
  6. Configure Doplarr with Docker Compose

    main

    Using Docker Compose allows you to manage Doplarr configuration through an environment block. This is a clean way to provide credentials for Sonarr, Radarr, and Discord without managing external files.

    doplarr:
      environment:
        - SONARR__URL=http://localhost:8989
        - RADARR__URL=http://localhost:7878
        - SONARR__API=sonarr_api
        - RADARR__API=radarr_api
        - DISCORD__TOKEN=bot_token
      container_name: doplarr
      image: "ghcr.io/kiranshila/doplarr:latest"
  7. Configure Overseerr backend

    main

    Overseerr is a mutually exclusive backend; if you use Overseerr, do not configure Sonarr/Radarr settings.

    Requirements:

    • Users must have associated Discord IDs for requests to succeed.
    • Set OVERSEERR__URL and OVERSEERR__API (or :overseerr/url and :overseerr/api).

    Note: Doplarr provides a subset of Overseerr's functionality, focusing on requests with optional 4K and quota support. For full feature access, use the Overseerr web interface.

  8. Configure Discord Bot Permissions

    main

    As of Doplarr v3.5.0, role-gating via configuration files (e.g., ROLE_ID) is no longer supported. Instead, use Discord's native command permissions system:

    1. After adding the bot to your server, go to Server Settings.
    2. Navigate to Integrations.
    3. Select Doplarr (or the name you gave your bot).
    4. Click Manage to configure which channels the bot can access and which users/roles have permission to use its commands.
  9. Configure Sonarr or Radarr backends

    main

    To connect Doplarr to Sonarr or Radarr, you must provide the API key found in Settings -> General of your instance.

    Required Settings:

    • Sonarr: Set SONARR__URL and SONARR__API (or :sonarr/url and :sonarr/api).
    • Radarr: Set RADARR__URL and RADARR__API (or :radarr/url and :radarr/api).

    Important: URLs must include the protocol (e.g., http:// or https://).

  10. Configure path variables on Windows

    main

    When setting path variables in a Doplarr configuration on Windows, you must use double backslashes (\) instead of single backslashes (\) for path separators to avoid errors.

    # Example of correct Windows path formatting
    C:\\path\\to\folder