-
-
Notifications
You must be signed in to change notification settings - Fork 61
Troubleshooting
Common issues and solutions for NNTmux.
Error: Your requirements could not be resolved to an installable set of packages
Solution:
# Update composer
composer self-update
# Clear cache and retry
composer clear-cache
composer install --no-cacheError: ext-xxx is missing from your system
Solution:
# Install common extensions
sudo apt install php8.3-{curl,mbstring,xml,zip,gd,intl,pcntl,mysql}
# Verify
php -m | grep -i extension_nameError: Permission denied or failed to open stream
Solution:
# Fix ownership
sudo chown -R www-data:www-data /var/www/nntmux
# Fix permissions
sudo chmod -R 755 /var/www/nntmux
sudo chmod -R 775 storage bootstrap/cache
# Fix SELinux (if applicable)
sudo chcon -R -t httpd_sys_rw_content_t storage bootstrap/cacheSymptoms: Headers downloaded but no releases appearing
Check:
-
Active groups:
php artisan tinker >>> DB::table('usenet_groups')->where('active', 1)->count();
-
Headers exist:
SELECT COUNT(*) FROM binaries; SELECT COUNT(*) FROM parts;
-
Processing is running:
ps aux | grep "php artisan"
-
Check logs:
tail -f storage/logs/laravel.log
Solutions:
- Ensure groups are active in admin panel
- Run release processing manually:
php artisan nntmux:releases - Check NNTP connection:
php artisan nntmux:test-nntp
Symptoms: Releases exist but no metadata (covers, NFOs, etc.)
Check:
-
Queue is running:
php artisan queue:work --status
-
Jobs in queue:
SELECT COUNT(*) FROM jobs; SELECT COUNT(*) FROM failed_jobs;
Solutions:
# Process failed jobs
php artisan queue:retry all
# Clear stuck jobs
php artisan queue:flush
# Run post-processing manually
php artisan nntmux:postprocessError: Unable to connect to NNTP server
Check:
-
Credentials in .env:
grep NNTP .env
-
Network connectivity:
telnet news.provider.com 563 openssl s_client -connect news.provider.com:563
-
Test connection:
php artisan nntmux:test-nntp
Solutions:
- Verify username/password
- Try different port (119 vs 563)
- Check SSL settings
- Contact Usenet provider
Error: SQLSTATE[HY000] [2002] Connection refused
Check:
# Is MariaDB running?
sudo systemctl status mariadb
# Can you connect manually?
mysql -u nntmux -pSolutions:
# Start MariaDB
sudo systemctl start mariadb
# Check socket path
mysql -u root -p -S /var/run/mysqld/mysqld.sockError: Lock wait timeout exceeded
Check:
SHOW FULL PROCESSLIST;
SHOW ENGINE INNODB STATUS\GSolutions:
# Increase timeout in my.cnf
innodb_lock_wait_timeout = 120# Kill blocking query
mysql -e "KILL process_id"Symptoms: Queries fail, server unresponsive
Check:
df -h
du -sh /var/lib/mysql/*Find large tables:
SELECT
table_name,
ROUND((data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
FROM information_schema.tables
WHERE table_schema = 'nntmux'
ORDER BY (data_length + index_length) DESC
LIMIT 10;Solutions:
# Clean Laravel Pulse data
php artisan pulse:purge
# Clean old releases
php artisan nntmux:cleanup --days=180
# Clean binary data
php artisan nntmux:cleanup-binaries
# Optimize tables (reclaim space)
php artisan nntmux:optimize-tablesCheck:
SELECT
table_name,
ROUND(data_length/1024/1024, 2) as 'Size (MB)'
FROM information_schema.tables
WHERE table_schema = 'nntmux'
AND table_name LIKE 'pulse%';Solution:
php artisan pulse:purge
# Or disable Pulse in .env
PULSE_ENABLED=falseCheck:
# Application logs
tail -100 storage/logs/laravel.log
# Web server logs
tail -100 /var/log/nginx/error.log
tail -100 /var/log/apache2/error.log
# PHP-FPM logs
tail -100 /var/log/php8.3-fpm.logCommon causes:
- Missing
.envfile - Invalid
APP_KEY - Database connection failed
- Permission issues
Solutions:
# Regenerate key
php artisan key:generate
# Clear all caches
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
# Fix permissions
chmod -R 775 storage bootstrap/cacheCause: PHP-FPM not running or timed out
Check:
sudo systemctl status php8.3-fpmSolutions:
# Restart PHP-FPM
sudo systemctl restart php8.3-fpm
# Increase timeout in nginx
location ~ \.php$ {
fastcgi_read_timeout 300;
}Check:
-
Enable slow query log:
SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 1;
-
Monitor queries:
SHOW PROCESSLIST;
-
Check PHP-FPM:
# Enable slow log in php-fpm pool slowlog = /var/log/php-fpm/slow.log request_slowlog_timeout = 5s
Solutions:
- Tune database (see Database Tuning)
- Add missing indexes
- Enable query caching
- Use search engine for full-text search
Check:
ls -la public/build/Solutions:
# Rebuild assets
npm install
npm run build
# Check permissions
chmod -R 755 public/buildCheck:
-
Search engine running:
# ManticoreSearch mysql -h 127.0.0.1 -P 9306 -e "SHOW STATUS" # Elasticsearch curl localhost:9200
-
Index has data:
# ManticoreSearch mysql -h 127.0.0.1 -P 9306 -e "SELECT COUNT(*) FROM releases"
Solutions:
# Rebuild index
php artisan nntmux:index-manticore --freshCheck:
# ManticoreSearch
ss -tlnp | grep 9308
sudo systemctl status manticore
# Elasticsearch
ss -tlnp | grep 9200
sudo systemctl status elasticsearchSolutions:
# Restart service
sudo systemctl restart manticore
# or
sudo systemctl restart elasticsearchCheck:
-
API keys valid:
php artisan nntmux:test-apis
-
Show exists in database:
SELECT * FROM videos WHERE title LIKE '%Show Name%';
Solutions:
# Reprocess unmatched releases
php artisan nntmux:reprocess-tv
# Refresh episodes for show
php artisan tv:refresh-episodes --video-id=12345See TV & Movie Processing guide.
Symptoms: Can't write to storage, uploads fail, processing errors
Diagnosis:
# Check who owns files
ls -la storage/
ls -la bootstrap/cache/
# Check web server user
ps aux | grep nginx
ps aux | grep php-fpmSolution:
# Set correct ownership
sudo chown -R www-data:www-data storage bootstrap/cache
# If running tmux as different user
sudo chown -R youruser:www-data storage
sudo chmod -R 775 storageSymptoms: Files created with root ownership
Check:
ps aux | grep tmuxSolution:
# Kill root tmux session
sudo tmux kill-server
# Start as correct user
su - youruser -c "cd /var/www/nntmux && php artisan tmux:start"| Log | Location |
|---|---|
| Application | storage/logs/laravel.log |
| Tmux | misc/update/tmux/logs/ |
| nginx | /var/log/nginx/ |
| Apache | /var/log/apache2/ |
| PHP-FPM | /var/log/php8.3-fpm.log |
| MariaDB | /var/log/mysql/ |
| ManticoreSearch | /var/log/manticore/ |
| Elasticsearch | /var/log/elasticsearch/ |
If you can't resolve an issue:
- Search existing issues: GitHub Issues
- Check discussions: GitHub Discussions
- Join Discord: Discord Server
When reporting issues, include:
- NNTmux version (
php artisan --version) - PHP version (
php -v) - Database version (
mysql --version) - Relevant log entries
- Steps to reproduce