Telegram bot for Prowlarr
Telegram bot interface for downloading content via Prowlarr.
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 |
# 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: