CLI tools for Portainer, nginx-proxy-manager, Transmission, Proxmox VE, and Audiobookshelf APIs
curl -fsSL https://raw.githubusercontent.com/schmoli/cli-tools/main/install.sh | bashInstalls to ~/.local/bin.
| Variable | Tools | Description |
|---|---|---|
PORTAINER_URL |
portainer-cli | Portainer server URL |
PORTAINER_TOKEN |
portainer-cli | Portainer API token |
NPROXY_URL |
nproxy-cli | nginx-proxy-manager URL |
NPROXY_TOKEN |
nproxy-cli | nginx-proxy-manager JWT |
TRANSMISSION_URL |
trans-cli | Transmission RPC URL |
TRANSMISSION_USER |
trans-cli | Transmission username (optional) |
TRANSMISSION_PASS |
trans-cli | Transmission password (optional) |
PVE_URL |
pve-cli | Proxmox VE URL |
PVE_TOKEN_ID |
pve-cli | Proxmox API token ID (user@realm!tokenname) |
PVE_TOKEN_SECRET |
pve-cli | Proxmox API token secret |
ABS_URL |
abs-cli | Audiobookshelf URL |
ABS_TOKEN |
abs-cli | Audiobookshelf API token |
SONARR_URL |
sonarr-cli | Sonarr URL |
SONARR_API_KEY |
sonarr-cli | Sonarr API key |
RADARR_URL |
radarr-cli | Radarr URL |
RADARR_API_KEY |
radarr-cli | Radarr API key |
| Flag | Short | Description |
|---|---|---|
--url |
Server URL (overrides env var) | |
--token |
API token (overrides env var) | |
--insecure |
-k |
Skip TLS certificate verification |
--help |
-h |
Show help |
--version |
-v/-V |
Show version |
# List all stacks
portainer-cli stacks list
# Show stack details (includes compose file)
portainer-cli stacks show 1# List all endpoints
portainer-cli endpoints list
# Show endpoint details
portainer-cli endpoints show 1Get a token by authenticating with email/password:
nproxy-cli login
# Email: admin@example.com
# Password: ****
# eyJhbGciOiJS...Save the output to NPROXY_TOKEN.
# List all proxy hosts
nproxy-cli hosts list
# Show proxy host details
nproxy-cli hosts show 1# List all certificates
nproxy-cli certificates list
nproxy-cli certs list # alias
# Show certificate details
nproxy-cli certificates show 1# List all torrents
trans-cli list
# Filter by status
trans-cli downloading
trans-cli seeding
trans-cli stoppedtrans-cli show 1# Add magnet link
trans-cli add "magnet:?xt=urn:btih:..."
# Add .torrent file
trans-cli add /path/to/file.torrenttrans-cli start 1
trans-cli stop 1pve-cli list# Start VM or LXC by ID
pve-cli start 100# Stop VM or LXC by ID
pve-cli stop 100# List all libraries
abs-cli libraries list# List audiobooks (uses first library by default)
abs-cli books list
abs-cli books list --library <id> --limit 100
# Show audiobook details
abs-cli books show <id># Show listening progress (continue listening)
abs-cli progress# Search audiobooks
abs-cli search "primal hunter"
abs-cli search --library <id> "author name"# Trigger library scan
abs-cli scan # scan all libraries
abs-cli scan --library <id> # scan specific library- Log into Audiobookshelf web UI as admin
- Go to Settings → Users
- Click on your account
- Copy the API token
# List all series
sonarr-cli series list
# Show series details
sonarr-cli series show <id># Show upcoming episodes (default: 7 days)
sonarr-cli calendar
sonarr-cli calendar --days 14# Show download queue
sonarr-cli queue# Show missing episodes
sonarr-cli wanted
sonarr-cli wanted --limit 50# Search for new series
sonarr-cli search "breaking bad"# List all movies
radarr-cli movies list
# Show movie details
radarr-cli movies show <id># Show upcoming releases (default: 30 days)
radarr-cli calendar
radarr-cli calendar --days 60# Show download queue
radarr-cli queue# Show missing movies
radarr-cli wanted
radarr-cli wanted --limit 50# Search for new movies
radarr-cli search "dune"All output is YAML. Errors go to stderr:
error:
code: AUTH_FAILED
message: Invalid or expired tokenExit codes: 1=config, 2=auth, 3=not found, 4=network, 5=api error
# Add to ~/.bashrc
source <(portainer-cli completion bash)
source <(nproxy-cli completion bash)
source <(trans-cli completion bash)
source <(pve-cli completion bash)
source <(abs-cli completion bash)
source <(sonarr-cli completion bash)
source <(radarr-cli completion bash)# Add to ~/.zshrc
source <(portainer-cli completion zsh)
source <(nproxy-cli completion zsh)
source <(trans-cli completion zsh)
source <(pve-cli completion zsh)
source <(abs-cli completion zsh)
source <(sonarr-cli completion zsh)
source <(radarr-cli completion zsh)If you get "command not found: compdef", add before the source lines:
autoload -Uz compinit && compinitrm ~/.local/bin/{portainer-cli,nproxy-cli,trans-cli,pve-cli,abs-cli,sonarr-cli,radarr-cli}