Installer Opentracker avec Docker
Opentracker

Installer Opentracker avec Docker

Table des matières

GitHub - florianjs/opentracker: Run your own private tracker in less than 5min
Run your own private tracker in less than 5min. Contribute to florianjs/opentracker development by creating an account on GitHub.

Aujourd'hui nous allons parler d'Opentracker ! Si vous êtes intéressé d'avoir votre propre tracker de torrents privé et d'échanger des fichiers avec d'autres personnes, ce qui suit pourrait vous intéresser. Non seulement c'est d'une simplicité enfantine à déployer, mais en plus il très facile à utiliser.

Une fois les DNS ajoutés, il ne vous faudra que quelques minutes pour avoir votre propre tracker privé.

Opentracker dispose d'une fonction Mode panique, une fois activée, cela aura pour effet un chiffrement instantané de la base de données. Il vous faudra entrer un mot de passe spécifique pour déverrouiller le tout. Sait-on jamais.

Opentracker ne conserve aucune information sur les utilisateurs, il est d'ailleurs impossible de récupérer un mot de passe. C'est oublié, c'est foutu.

💡
D'autres fonctions seront ajoutées, bientôt une roadmap.

⚡ Caractéristiques

🔐 Confidentialité & Authentification

  • Authentification Zero-Knowledge.
  • Proof of Work.
  • Torrents privés (DHT/PEX désactivés).
  • Suivi et application des ratios.

⚡ Performance

  • Recherches de pairs en moins d’une milliseconde via Redis.
  • PostgreSQL avec recherche plein texte.
  • Support des annonces HTTP & WebSocket.
  • Optimisé pour une forte concurrence.

🛡️ Sécurité

  • Limitation du taux de requêtes distribuée.
  • Mise sur liste noire automatique des IP.
  • Détection des attaques SQL/XSS.
  • IP hachées en SHA-256.

🚨 Urgence

  • Mode Panique : chiffrement instantané de la base de données.
  • Données protégées par AES-256-GCM.
  • Restauration complète avec mot de passe maître.
  • Irrécupérable sans le mot de passe.

💾 Installation

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Distribution Linux (Ubuntu, Debian, etc ...).
  • Docker installé.
  • Accès terminal.
  • Connexion internet.
  • Un nom de domaine.

Et aussi, super important, ajoutez ces entrées DNS :

SubdomainRecord TypeValue
tracker.votredomaine.comAIP du serveur
announce.votredomaine.comAIP du serveur
monitoring.votredomaine.comAIP du serveur
  • Une pour le tracker, l'Ui d'Opentracker, l'interface Web.
  • Une pour announce.
  • Une pour le monitoring.

Étapes d'installation

Que va faire le script ?

Installer Docker et ses dépendances
Générer des clés cryptographiques
Configurer les règles du pare-feu
Configurer le protocole TLS/SSL avec Let's Encrypt
Créer un service systemd pour le redémarrage automatique
Configurer PostgreSQL, Redis, Caddy et la supervision
Configurer la supervision Prometheus et Grafana

  1. Collez ça dans votre terminal :
curl -fsSL https://raw.githubusercontent.com/florianjs/opentracker/main/scripts/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh
  1. Répondez à ces questions :
  • 1 => Entrez le domaine/sous-domaine pour tracker.
  • 2 => Entrez le domaine/sous-domaine pour announce.
  • 3 => Entrez le domaine/sous-domaine pour monitoring.
  • 4 => Entrez une adresse mail pour la génération du certificat SSL.
  • 5 => Appuyez sur Entrée pour générer un mot de passe automatiquement ou choisissez un mot de passe.
  • 6 => Appuyez sur Entrée pour générer un mot de passe automatiquement ou choisissez un mot de passe.

Laissez travailler, à la fin de l'installation vous verrez Installation Complete!.

Notez bien précieusement ces informations :

  • 1 => URL des différents services.
  • 2 => Compte administrateur pour monitoring.
  • 3 => Compte administrateur pour le Grafana.
  • 4 => Commandes utiles.
  • 5 => Quand vous êtes certain que tout est bien noté en sécurité, tapez yes pour terminer, validez avec Entrée.
  1. Rendez-vous sur votre domaine :
https://tracker.votredomaine.com

👤 Créer votre compte administrateur

Sur la page du tracker, il faudra commencer par créer votre compte administrateur :

  • 1 => Entrez le nom d'utilisateur du compte administrateur.
  • 2 =>Entrez le mot de passe, fort, du compte administrateur.
  • 3 => Confirmez le mot de passe.
  • 4 => Choisissez le mot de passe pour déverrouiller la base de données en cas "d'urgence".
  • 5 => Confirmez le mot de passe.
  • 6 => Cliquez sur Create Admin Account pour terminer la création du compte. Patientez un peu, après avoir cliqué sur le bouton.

Vous voilà sur votre tableau de bord, vous pourrez bientôt commencer à vous amuser :


🔄 Créer un torrent

💡
Info utile, votre passkey se trouve ici :

Pour créer le torrent d'un fichier ou un dossier à partager, je vais utiliser qBitorrent, mais pas en version docker, il y a presque 100/100 de chance qu'il n'y aura pas l'option pour le faire. Par contre qui, le fait. Mais vous serez limité à vos indexers.

Je vais utiliser qBitorrent, installé sur mon PC.

Allez dans : Outils => Créateur de torrent. Vous pouvez également faire ctrl + N.

Cette petite fenêtre s'ouvre :

  • 1 => Sélectionner ce que vous souhaitez partager.
  • 2 => Cochez cette case.
  • 3 => Cochez cette case.
  • 4 => Indiquez l'URL sous cette forme : https://announce.votredomaine.com/announce?passkey=VOTRE_PASSE_KEY.
  • 5 => Clique sur Créer le torrent. Vous devrez indiquer où l'enregistrer. Quand c'est terminé, vous aurez ce message :

🗒️ Gérer les catégories de torrents

Histoire de classer les torrents, je vais créer une catégorie parent, root :

  • 1 => Partie Admin.
  • 2 => Partie Catégories.
  • 3 => Choisissez ROOT CATEGORY, la catégorie parent donc.
  • 4 => Nommez votre ROOT CATEGORY.
  • 5 => Cliquez sur + ADD pour ajouter la catégorie parent.

Créez maintenant une catégorie, dans mon cas, DISTROS :

  • 1 => Je choisis la catégorie TORRENTS.
  • 2 => Créons la partie DISTROS.
  • 3 => Cliquez sur + ADD pour terminer.

Tout est en place !


🗒️ Ajouter une catégorie dans le forum

Vous pouvez centraliser vos torrents et faire une présentation de ceux-ci afin de les partager, dans la partie Forum.

Rendez-vous dans la partie Forum :

  • 1 => Cliquez sur + NEW CATEGORY.

Remplissez les champs :

  • 1 => Nommez votre catégorie.
  • 2 => Ajoutez une description, éventuellement.
  • 3 => Ordre de la catégorie.
  • 4 => Cliquez sur CREATE pour terminer.

Votre catégorie est bien présente :

  • 1 => Cliquez sur le nom de la catégorie pour entrer dedans.

Vous pouvez créer votre premier post, mais on y reviendra :

⚠️
Pour le moment il n'est pas possible d'éditer les catégories, c'est prévu, mais ce n'est pas encore implémenté. Soyez prudent avant de valider.

⤵️ Importer un torrent à partager sur Opentracker

Rendez-vous sur votre instance Opentracker :

  • 1 => Partie Torrents.
  • 2 => Cliquez sur + Upload.

Vous arrivez ici, en bonne santé en plus :

  • 1 => Ajoutez le torrent que vous avez créé.
  • 2 => Choisissez une catégorie.
  • 3 => Ajoutez une description, en Markdown.
  • 4 => Cliquez sur INITIALIZE UPLOAD.

C'est terminé cliquez sur Close :

Le torrent est déjà en partage et on voit du seed, c'est moi/toi, par l'instance qBitorrent avec laquelle a été créé le torrent :

Si vous allez dans la partie Torrents et que vous cliquez sur le torrent présent, vous avez ici la description et le lien pour télécharger le torrent :

Sympa non ?


👥 Ouvrir les inscriptions à votre instance

Rendez-vous ici :

  • 1 => Rendez-vous partie Admin.
  • 2 => Settings.
  • 3 => Cochez Open Registration.
  • 4 => Vous pouvez régler le ratio minimum.
  • 5 => Vous pouvez régler avec combien de GB commence l'utilisateur.
  • 6 => Cliquez sur SAVE CONFIGURATION pour enregistrer.

Il est maintenant possible de s'inscrire à votre instance.


👤 Création d'un compte utilisateur

Si les inscriptions sont ouvertes, vos utilisateurs pourront s'enregistrer :

  • 1 => Cliquez sur Create one.

Remplissez les informations habituelles :

  • 1 => Choisir le nom d'utilisateur.
  • 2 => Choisir le mot de passe, fort, de l'utilisateur.
  • 3 => Confirmez le mot de passe.
  • 4 => Cliquez sur Create Account pour terminer.

L'utilisateur sera redirigé automatiquement :


⚡ Donner un rôle à un utilisateur

Dans la partie Users, entrez le nom de l'utilisateur à rechercher, cliquez sur Search :

Cochez de la manière que vous voulez votre utilisateur.


✅ Valider un torrent

Pour un utilisateur basique, ce qu'il propose comme torrent devra passer par une étape de validation, que vous pouvez retrouver dans la partie Mod => Pending Torrents :

  • 1 => APPROVE pour approuver.
  • 2 => REJECT pour rejeter.

Du côté de l'utilisateur, après avoir envoyé le torrent il aura ce message :


🚦 Ajouter un rôle

Imaginons que je veuille un rôle où l'utilisateur soit de confiance et ne doive plus se faire valider ses torrents, je peux créer un rôle pour ça :

  • 1 => Nommez le rôle.
  • 2 => Choisissez une couleur.
  • 3 => Choisissez si oui oui non ils peuvent échapper à la modération.
  • 4 => Cliquez + CREATE pour créer le rôle.

Le rôle est bien créé :


🖍️ Personnaliser votre instance

Opentracker permet une personnalisation de l'instance.

Site Announcement

Sert à faire passer un message en haut de la page :

Dans la partie Settings :

  • 1 => Cochez l'option pour l'activer.
  • 2 => Indiquez le message à faire passer.
  • 3 => Choisissez le type de message. Info, Warning ou Error.
  • 4 => Cliquez sur SAVE ANNOUNCEMENT.

Site Branding

Sert à personnaliser l'image de marque du site. Toujours dans la partie Settings :

  • 1 => Nommez l'instance.
  • 2 => Vous pouvez ajouter un sous-titre.
  • 3 => Choisissez une icône ou image. Pour le moment seule la partie Icon fonctionne.
  • 4 => Choisissez un logo.
  • 5 => Cliquez sur SAVE BRANDING pour terminer.

Et voilà :

Homepage Content

Sert à modifier le bas de page.


🚨 Verrouillage d'urgence

Chiffrez immédiatement toutes les données sensibles. Cette action rend les données illisibles sans le mot de passe de secours défini lors de l'inscription.

Dans la partie Settings, tout en bas, cliquez sur PANIC - ENCRYPT DATABASE :


🆘 Commandes utiles

Voici quelques commandes qu'il faut garder sous le coude.

Il faut être dans ce dossier pour que les commandes fonctionnent :

/opt/opentracker

Démarrer les services

docker compose down

Stopper les services

docker compose down 

Voir les logs

docker compose logs -f 

Arrêter et supprimer les volumes (⚠️)

docker compose down -v 

Mettre à jour

cd /opt/opentracker
git checkout main
git pull origin main
docker compose -f docker-compose.prod.yml down
docker compose -f docker-compose.prod.yml up -d --build

Pour la liste de toutes les commandes :

GitHub - florianjs/opentracker: Run your own private tracker in less than 5min
Run your own private tracker in less than 5min. Contribute to florianjs/opentracker development by creating an account on GitHub.

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer