torrentpier/torrentpier

TorrentPier. Bull-powered BitTorrent tracker engine

Fund package maintenance!
torrentpier
Open Collective

Installs: 415

Dependents: 0

Suggesters: 0

Security: 2

Stars: 328

Watchers: 34

Forks: 85

Open Issues: 5

Type:project

pkg:composer/torrentpier/torrentpier

v2.8.8 2025-10-21 17:47 UTC

This package is auto-updated.

Last update: 2025-10-23 12:31:56 UTC


README

TorrentPier

Bull-powered BitTorrent tracker engine

License Stars Packagist Crowdin TorrentPier nightly Downloads Version Last release Size

๐Ÿ‚ About TorrentPier

TorrentPier โ€” bull-powered BitTorrent Public/Private tracker engine, written in PHP. High speed, simple modifications, load-balanced architecture. In addition, we have a very helpful official support forum, where it's possible to get support and download modifications for the engine.

๐ŸŒˆ Current status

TorrentPier is currently in active development. The goal is to remove all legacy code and rewrite the existing code to modern specifications. If you want to delve deep into the code, check our issues and go from there. The documentation will be translated to English in the near future, currently Russian is the main language.

โœจ Features

  • Rich forum with browsing/moderation tools
  • High-load capable, heavily configurable announcer
  • Scrape support
  • FreeLeech
  • TorrServer integration support
  • BitTorrent v2 support
  • Event-based invite system
  • Bonus points
  • Polling system
  • PM/DM system
  • Multilingual support (Russian and English are currently fully supported, with others in the future)
  • Atom/RSS feeds
  • ... and so MUCH MORE!

๐Ÿ–ฅ๏ธ Demo

Note

Demo resets every 24 hours!

๐Ÿ”ง Requirements

  • Apache / nginx (example config) / caddy (example config)
  • MySQL 5.5.3 or above (including MySQL 8.0+) / MariaDB 10.0 or above / Percona
  • PHP: 8.2 / 8.3 / 8.4
  • PHP Extensions: mysqli, mbstring, gd, bcmath, intl, tidy (optional), xml, xmlwriter
  • Crontab (Recommended)

๐Ÿ’พ Installation

For the installation, select one of the installation variants below:

Quick (Clean install) ๐Ÿš€

Check out our autoinstall repository with detailed instructions.

Note

Thanks to Sergei Solovev for this installation script โค๏ธ

Quick (With installation script) โ˜•๏ธ

  1. Select the folder where you want TorrentPier installed
    cd /path/to/www
  2. Download the latest version of TorrentPier
    git clone --branch master --depth 1 https://github.com/torrentpier/torrentpier.git .
  3. After completing, execute the command below and follow the instructions
    php install.php
  4. Voila! โœจ

Manual ๐Ÿ”ฉ

  1. Check our system requirements
  2. Select the folder where you want TorrentPier installed
    cd /path/to/www
  3. Download the latest version of TorrentPier
    git clone --branch master --depth 1 https://github.com/torrentpier/torrentpier.git .
  4. After, run this command in the project directory to install Composer dependencies
    composer install --no-dev --prefer-dist --optimize-autoloader
  5. Edit database configuration settings in the environment (.env.example), after, rename to .env
  6. Create a database and run migrations to set up the schema
    php vendor/bin/phinx migrate --configuration=phinx.php
  7. Provide write permissions to the specified folders:
    • data/avatars, data/uploads, data/uploads/thumbs
    • internal_data/cache, internal_data/log, internal_data/triggers
    • sitemap
  8. Voila! โœจ

Tip

You can automate steps 4-7 by running php install.php instead, which will guide you through the setup process interactively.

Using Docker ๐Ÿณ

  1. Ensure Docker and Docker Compose are installed on your system. Verify that ports 80 (HTTP) and 443 (HTTPS) are free or adjust them in the docker-compose.yml
  2. Select the folder where you want TorrentPier installed
    cd /path/to/www
  3. Download the latest version of TorrentPier
    git clone --branch master --depth 1 https://github.com/torrentpier/torrentpier.git .
  4. Copy the Docker environment template (.env.docker) file and configure it
    cp .env.docker .env
  5. Configure environment variables in .env. Edit the file and adjust values according to your environment
    nano .env  # or use your preferred editor
  6. Start the application with Docker Compose
    docker compose up -d
  7. Voila! โœจ

Important

The specific settings depend on the server you are using, but in general we recommend chmod 0755 for folders, and chmod 0644 for the files in them.

Additional steps ๐Ÿ‘ฃ

  1. Edit these files:
    • favicon.png (change to your own)
    • robots.txt (change the addresses in lines Host and Sitemap to your own)
  2. Log in to the forum using the admin/admin login/password, and finish setting up via admin panel. Don't forget to change your password!

๐Ÿ” Security vulnerabilities

If you discover a security vulnerability within TorrentPier, please follow our security policy, so we can address it promptly.

๐Ÿงช Testing

TorrentPier includes a comprehensive testing suite built with Pest PHP. Run tests to ensure code quality and system reliability:

# Run all tests
./vendor/bin/pest

# Run with coverage
./vendor/bin/pest --coverage

For detailed testing documentation, see tests/README.md.

๐Ÿ“Œ Our recommendations

  • It's recommended to run cron.php. - For significant tracker speed increase it may be required to replace the built-in cron.php with an operating system daemon.
  • Local configuration copy. - You can override the settings using the local configuration file library/config.local.php.

๐Ÿ’š Contributing / Contributors

Please read our contributing policy and code of conduct for details, and the process for submitting pull requests to us. But we are always ready to review your pull-request for compliance with these requirements. Just send it!

Contributors

Made with contrib.rocks.

๐Ÿ’ž Sponsoring

Support this project by becoming a sponsor or a backer.

OpenCollective sponsors OpenCollective backers

Monero
42zJE3FDvN8foP9QYgDrBjgtd7h2FipGCGmAcmG5VFQuRkJBGMbCvoLSmivepmAMEgik2E8MPWUzKaoYsGCtmhvL7ZN73jh
YooMoney
4100118022415720

๐Ÿ“ฆ Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

๐Ÿ“– License

This project is licensed under the MIT License - see the LICENSE file for details.