Skip to content
DariusIII edited this page Dec 30, 2025 · 1 revision

Configuration Guide

This guide covers all configuration options for NNTmux.

Environment File (.env)

All configuration is done through the .env file in your NNTmux root directory.

Application Settings

APP_NAME=NNTmux
APP_ENV=production
APP_KEY=                          # Generated with php artisan key:generate
APP_DEBUG=false                   # Set to true only for debugging
APP_URL=https://your-domain.com   # Your site URL (no trailing slash)
APP_TIMEZONE=UTC                  # Server timezone

Database Configuration

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nntmux
DB_USERNAME=nntmux
DB_PASSWORD=your_secure_password
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci

Usenet Server (NNTP)

# Primary NNTP Server
NNTP_SERVER=news.your-provider.com
NNTP_PORT=563                     # 563 for SSL, 119 for non-SSL
NNTP_SSLENABLED=true
NNTP_USERNAME=your_username
NNTP_PASSWORD=your_password
NNTP_SOCKET_TIMEOUT=120

# Alternative/Backup NNTP Server (optional)
NNTP_SERVER_A=news.backup-provider.com
NNTP_PORT_A=563
NNTP_SSLENABLED_A=true
NNTP_USERNAME_A=backup_username
NNTP_PASSWORD_A=backup_password

API Keys

These keys are used for fetching metadata about releases.

# The Movie Database (TMDB) - Required for movie/TV matching
# Get key at: https://www.themoviedb.org/settings/api
TMDB_API_KEY=your_tmdb_api_key

# TheTVDB - Required for TV show matching
# Get key at: https://thetvdb.com/dashboard/account/apikey
TVDB_API_KEY=your_tvdb_api_key

# Trakt - Optional, for additional TV/movie data
# Get key at: https://trakt.tv/oauth/applications
TRAKT_CLIENT_ID=your_trakt_client_id
TRAKT_CLIENT_SECRET=your_trakt_secret

# OMDB/IMDB - Optional, for movie ratings
# Get key at: https://www.omdbapi.com/apikey.aspx
OMDB_API_KEY=your_omdb_key

# Fanart.tv - Optional, for artwork
# Get key at: https://fanart.tv/get-an-api-key/
FANART_API_KEY=your_fanart_key

# GiantBomb - Optional, for game metadata
# Get key at: https://www.giantbomb.com/api/
GIANTBOMB_API_KEY=your_giantbomb_key

# AniDB - Optional, for anime
ANIDB_USERNAME=your_anidb_username
ANIDB_PASSWORD=your_anidb_password

Search Engine Configuration

Choose between ManticoreSearch or Elasticsearch:

# Search engine to use: manticore or elasticsearch
SEARCH_ENGINE=manticore

# ManticoreSearch settings
MANTICORE_HOST=127.0.0.1
MANTICORE_PORT=9308
MANTICORE_INDEX=nntmux

# Elasticsearch settings (if using elasticsearch)
ELASTICSEARCH_HOST=127.0.0.1
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_INDEX=nntmux
ELASTICSEARCH_USERNAME=              # Optional
ELASTICSEARCH_PASSWORD=              # Optional

IRC Pre-Scraping

For scraping release information from IRC pre-channels:

SCRAPE_IRC_ENABLED=true
SCRAPE_IRC_SERVER=irc.synirc.net
SCRAPE_IRC_PORT=6697
SCRAPE_IRC_TLS=true
SCRAPE_IRC_USERNAME=YourUniqueNickname
SCRAPE_IRC_PASSWORD=                  # Optional, for registered nicks
SCRAPE_IRC_REALNAME=Your Name
SCRAPE_IRC_CHANNELS=#PreNNTmux,#nZEDbPRE

Queue & Cache

# Queue driver: sync, database, redis, beanstalkd
QUEUE_CONNECTION=redis

# Cache driver: file, redis, memcached, database
CACHE_DRIVER=redis

# Session driver
SESSION_DRIVER=redis

# Redis configuration
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
REDIS_DB=0
REDIS_CACHE_DB=1

Mail Configuration

For sending registration emails, password resets, etc:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@your-domain.com
MAIL_FROM_NAME="${APP_NAME}"

File Paths

# Path to unrar binary
UNRAR_PATH=/usr/bin/unrar

# Path to 7zip binary
SEVENZIP_PATH=/usr/bin/7z

# Path to ffmpeg binary
FFMPEG_PATH=/usr/bin/ffmpeg

# Path to mediainfo binary
MEDIAINFO_PATH=/usr/bin/mediainfo

# NZB storage path
NZB_PATH=/var/www/nntmux/resources/nzb

# Cover images path
COVERS_PATH=/var/www/nntmux/public/covers

Processing Settings

# Maximum releases to process per run
MAX_RELEASES_PROCESS=1000

# Maximum headers to download per group
MAX_HEADERS_DOWNLOAD=100000

# Retention days (how old articles to keep)
RETENTION_DAYS=3000

# Enable/disable specific post-processors
PROCESS_NFO=true
PROCESS_VIDEOS=true
PROCESS_JPGS=true
PROCESS_AUDIO=true
PROCESS_BOOKS=true
PROCESS_GAMES=true
PROCESS_XXX=true

Admin Panel Configuration

Many settings can also be configured through the web-based admin panel:

  1. Log in as an admin user
  2. Navigate to AdminSettings
  3. Configure settings by category

Important Admin Settings

  • Site Settings: Name, email, registration options
  • Usenet Settings: Server connections, retention, threading
  • API Settings: Rate limits, key expiration
  • Post-Processing: Enable/disable processors
  • Category Settings: Category mappings and regex

Configuration Cache

After changing .env settings, clear the configuration cache:

php artisan config:clear
php artisan config:cache

For production, always cache your configuration:

php artisan config:cache
php artisan route:cache
php artisan view:cache

Clone this wiki locally