Skip to main content
This software is provided for educational and legitimate use only. You are solely responsible for ensuring compliance with your local copyright laws. Consider using a VPN for privacy protection when downloading torrents.

Prerequisites

Before setting up Plank, ensure you have:
  • Docker and Docker Compose installed (recommended method)
  • A TMDB API key for metadata (get one here)
  • (Optional) OpenSubtitles account for subtitle downloads (sign up here)
The fastest way to get started is running the one-line deploy script, which handles nearly everything automatically.

Quick deploy

For Linux systems, use the automated deployment script:
bash <(curl -fsSL https://raw.githubusercontent.com/logscore/plank/master/scripts/deploy.sh)
The script will install dependencies, clone the repository, configure your environment, and start the application.

Manual setup

1

Clone the repository

git clone https://github.com/logscore/plank.git
cd plank
2

Create environment file

Copy the example environment file:
cp .env.example .env
3

Configure environment variables

Edit your .env file with the following required settings:
.env
# Database
DATABASE_URL=./plank.db

# Where the files are saved when downloaded
DATA_PATH=./data

# Get yours here https://www.themoviedb.org/settings/api
TMDB_API_KEY=your_tmdb_api_key_here

# Prowlarr (Torrent Search)
PROWLARR_URL=http://prowlarr:9696  # Use 'prowlarr' for Docker, 'localhost:9696' for bare metal
PUBLIC_PROWLARR_URL=${PROWLARR_URL}
PROWLARR_API_KEY=  # Leave blank - configured automatically

# OpenSubtitles (Subtitle Downloads)
OPENSUBTITLES_API_KEY=
OPENSUBTITLES_USERNAME=
OPENSUBTITLES_PASSWORD=

# Authentication
BETTER_AUTH_SECRET=super-secret-32-char-string
BETTER_AUTH_URL=http://localhost:3300

# Reserved for future functionality
ENABLE_FILE_STORAGE=true

PORT=3300
ORIGIN=http://localhost:3300  # Required for Docker CSRF protection
The ORIGIN environment variable must match the URL you use to access Plank in your browser (e.g., http://localhost:3300 or http://192.168.1.100:3300).
4

Start the services

5

Verify installation

Check that all containers are running:
docker ps
You should see plank, prowlarr, and flaresolverr in the output.
6

Access the application

Open your browser and navigate to:Create your first user account in Plank to get started.
7

Configure torrent indexers

After creating your account, configure torrent indexers in Prowlarr to enable content search. See the torrent indexers guide for recommendations and setup instructions.

Environment variables reference

VariableDescriptionDefault
DATABASE_URLPath to SQLite database./plank.db
DATA_PATHWhere downloaded files are saved./data
TMDB_API_KEYTMDB API key for metadataRequired
PROWLARR_URLProwlarr API URLhttp://localhost:9696
PUBLIC_PROWLARR_URLPublic-facing Prowlarr URLSame as PROWLARR_URL
PROWLARR_API_KEYProwlarr API keyAuto-configured
OPENSUBTITLES_API_KEYOpenSubtitles API keyOptional
OPENSUBTITLES_USERNAMEOpenSubtitles usernameOptional
OPENSUBTITLES_PASSWORDOpenSubtitles passwordOptional
BETTER_AUTH_SECRETAuth secret (32+ characters)Required
BETTER_AUTH_URLBase URL for authenticationhttp://localhost:3300
ENABLE_FILE_STORAGESave files to disktrue
PORTServer port3300
ORIGINPublic URL for CSRF protectionhttp://localhost:3300

Troubleshooting

Issue: Can’t access Prowlarr APISolutions:
  • Check if containers are running: docker ps
  • Verify Prowlarr API key in Plank settings page (/settings)
  • Verify port 9696 isn’t blocked by firewall (if running outside Docker network)
  • Restart containers: docker compose restart
Issue: Error when submitting formsSolution: Ensure the ORIGIN environment variable matches your browser URL exactly (e.g., http://localhost:3300, http://192.168.1.2:3300).
Issue: Docker container won’t startSolutions:
  • Check environment variables in .env file
  • Verify Docker is running: docker version
  • Check for port conflicts (3300, 9696, 8191)
  • Review container logs: docker compose logs -f
  • Sometimes distro mirrors are out of sync - wait and try again
Issue: File permission errorsSolutions:
  • Check volume permissions for media directories
  • Ensure proper PUID/PGID if using custom user IDs
  • Verify the user running Docker has write access to DATA_PATH
Issue: Downloads are slower than expectedSolutions:
  • Use an ethernet connection instead of WiFi
  • Configure port forwarding for port 6881 in your router
  • Check if your VPN is throttling speeds or blocking torrent traffic
  • Verify tracker health in Prowlarr

Security best practices

Always use a VPN when downloading torrents to protect your privacy and comply with your ISP’s terms of service.

Network security

  • Run Plank in Docker containers (already configured)
  • Use Tailscale for direct encrypted remote access
  • Keep your system and antivirus software updated
  • Consider network isolation if possible

File safety

  • Scan downloaded files with antivirus software before opening
  • Never run executable files (.exe, .bat, .scr) unless explicitly intended
  • Verify file sizes and types match expectations
  • Only download from indexers with good reputations

VPN recommendations

  • Use a reputable torrent-friendly VPN service
  • Ensure your VPN has a no-logs policy
  • Enable kill switch feature to prevent leaks on connection drops
  • Verify your VPN connection before starting downloads

Next steps

Configure indexers

Set up torrent indexers in Prowlarr to enable content search

API reference

Learn about Plank’s API endpoints and integration options

Build docs developers (and LLMs) love