Skip to content

Latest commit

 

History

History
80 lines (69 loc) · 5.43 KB

README.md

File metadata and controls

80 lines (69 loc) · 5.43 KB

Telegram bot for Prowlarr

Build Status Coverage Status

Telegram bot interface for downloading content via Prowlarr.

Screencast

Configuration

Configuration is done through environment variables.

Variable Description Mandatory Default
ALLOWED_USERS Comma separated list of telegram user ids, who are allowed to use the bot. Anyone
COMPLETE_IP IP to bind the complete webhook to. 0.0.0.0
COMPLETE_PORT TCP port to listen for download completion requests.
PROWLARR_API_KEY API key to access Prowlarr. if PROWLARR_API_KEY_FILE isn't set
PROWLARR_API_KEY_FILE Path to a file with API key to access Prowlarr. if PROWLARR_API_KEY isn't set
PROWLARR_BASE_URL e.g. http://localhost:9696
REDIS_URL Redis URL, to use as a store for link mappings. If not set, a non-persistent in-memory storage will be used.
REDIS_SEQUENCE_START First id value to use. 1000
REDIS_KEY_EXPIRATION When mappings will expire. 604800 (1 week)
RUST_LOG Minimal log level. info
TELOXIDE_PROXY Proxy to use for connecting to Telegram, e.g. socks5://localhost:9000
TELOXIDE_TOKEN Telegram bot token (from @BotFather bot) Yes
WEBHOOK_IP IP to bind the Telegram webhook to. 0.0.0.0
WEBHOOK_PORT Port on which the bot will be listening for requests from Telegram. For non-polling telegram interaction
WEBHOOK_URL Example: https://.herokuapp.com:443 For non-polling telegram interaction

Usage example

# docker-compose.yml

services:
  prowlarr-tg-client:
    image: ghcr.io/fertkir/prowlarr-telegram-client:main
    user: "1000:1000" # TODO replace with your user and group ids
    environment:
      - COMPLETE_PORT=12345
      - PROWLARR_API_KEY=<prowlarr api key> # TODO: replace with your Prowlarr api key
      - PROWLARR_BASE_URL=http://prowlarr:9696
      - RUST_LOG=info
      - TELOXIDE_TOKEN=<telegram token> # TODO: replace with your telegram token
    restart: unless-stopped

  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    environment:
      - PUID=1000  # TODO replace with your user id
      - PGID=1000  # TODO replace with your group id
      - TZ=Etc/UTC
    volumes:
      - prowlarr-config:/config
    ports:
      - "9696:9696"
    restart: unless-stopped

  transmission:
    image: linuxserver/transmission:latest
    restart: unless-stopped
    environment:
      - PUID=1000  # TODO replace with your user id
      - PGID=1000  # TODO replace with your group id
      - TZ=Etc/UTC
      - DOCKER_MODS=ghcr.io/fertkir/prowlarr-tg-client-transmission:main # download-complete callback support
      - PROWLARR_CLIENT_SERVER_URL=http://prowlarr-tg-client:12345       # download-complete callback support
    volumes:
      - transmission-config:/config
      - /home/username/Downloads:/downloads # TODO: replace with your downloads directory
    ports:
      - "9091:9091"
      - "51413:51413"
      - "51413:51413/udp"
volumes:
  prowlarr-config:
  transmission-config: