Skip to content

Environment Variables

Complete reference for all environment variables used by Trackarr.

Required Variables

These must be set for the application to run:

VariableDescriptionExample
DATABASE_URLPostgreSQL connection stringpostgresql://user:pass@host:5432/db
REDIS_URLRedis connection stringredis://:password@host:6379
NUXT_SESSION_PASSWORDSession encryption key (32+ chars)Random string
TRACKER_SECRETSecret for passkey generationRandom string
IP_HASH_SECRETSecret for IP hashingRandom string

Application Settings

VariableDescriptionDefault
NUXT_PUBLIC_SITE_NAMEDisplay name of your trackerTrackarr
NUXT_PUBLIC_SITE_URLPublic URL
NUXT_PUBLIC_ANNOUNCE_URLAnnounce URL for torrents
NODE_ENVEnvironment modedevelopment
PORTApplication port3000

Database

VariableDescriptionDefault
POSTGRES_USERPostgreSQL usernametracker
POSTGRES_PASSWORDPostgreSQL password
POSTGRES_DBDatabase nametrackarr
POSTGRES_HOSTDatabase hostlocalhost
POSTGRES_PORTDatabase port5432

Redis

VariableDescriptionDefault
REDIS_HOSTRedis hostlocalhost
REDIS_PORTRedis port6379
REDIS_PASSWORDRedis password

Security

VariableDescriptionDefault
POW_DIFFICULTYProof of Work difficulty (1-10)5
RATE_LIMIT_WINDOWRate limit window (seconds)60
RATE_LIMIT_MAXMax requests per window100
SESSION_MAX_AGESession lifetime (seconds)604800 (7 days)

Tracker

VariableDescriptionDefault
TRACKER_INTERVALAnnounce interval (seconds)1800
TRACKER_MIN_INTERVALMinimum announce interval900
TRACKER_MAX_PEERSMax peers returned per announce50

Monitoring

VariableDescriptionDefault
GRAFANA_ADMIN_USERGrafana admin usernameadmin
GRAFANA_ADMIN_PASSWORDGrafana admin passwordadmin
GF_SERVER_ROOT_URLGrafana public URL

Example .env File

bash
# Application
NUXT_PUBLIC_SITE_NAME="My Private Tracker"
NUXT_PUBLIC_SITE_URL="https://tracker.example.com"
NUXT_PUBLIC_ANNOUNCE_URL="https://announce.example.com/announce"
NODE_ENV=production

# Database
DATABASE_URL="postgresql://tracker:secretpassword@db:5432/trackarr"
POSTGRES_USER=tracker
POSTGRES_PASSWORD=secretpassword
POSTGRES_DB=trackarr

# Redis
REDIS_URL="redis://:redispassword@redis:6379"
REDIS_PASSWORD=redispassword

# Security
NUXT_SESSION_PASSWORD="your-32-character-session-password-here"
TRACKER_SECRET="your-tracker-secret-for-passkeys"
IP_HASH_SECRET="your-ip-hashing-secret"
POW_DIFFICULTY=5

# Tracker
TRACKER_INTERVAL=1800
TRACKER_MIN_INTERVAL=900

WARNING

Never commit .env files to version control. Use .env.example as a template.

Released under the MIT License.