Aller au contenu

Installer un nœud

Cinq étapes, une quinzaine de minutes une fois Docker en place. À la fin, un catalogue web sur http://localhost:8080 et un nœud qui cherche, catalogue, vous notifie et télécharge ce qu'il identifie avec certitude, dans un dossier ed2k/downloads/ posé à côté de votre fichier compose.

Pas encore de version p2pwatch publiée

Cette page décrit la branche principale, dont le dossier deploy tire des images qui n'existent qu'à partir de la première version p2pwatch. D'ici là, il ne démarre pas. Prenez plutôt le ZIP de la version 4.1.0 (Source code (zip)), et suivez la documentation de son dossier docs/.

Vous mettez à niveau un nœud existant ?

Lisez d'abord Migrer un nœud 4.x, et ne lancez rien avant : la migration se fait à la main, une fois. Son premier démarrage demande, libres dans data/, jusqu'à deux fois la taille du catalogue : une copie d'avant migration, puis la migration. Un nœud plus ancien passe d'abord par Migrer un nœud 1.x ou Migrer un nœud 2.x.

Votre adresse IP sera visible des autres pairs

C'est le fonctionnement normal du réseau eMule. Pour la masquer, voyez Passer derrière un VPN une fois ces cinq étapes faites, et Légalité et vie privée pour ce que le nœud enregistre et ce que vous risquez.

1. Installer Docker

Il vous faut une machine qui reste allumée avec une connexion permanente (un nœud n'est utile que s'il surveille en continu), environ 2 Go de RAM libre et 5 Go de disque pour commencer.

Installez Docker depuis la page officielle : https://docs.docker.com/get-started/get-docker/. Docker Desktop sous Windows et macOS, Docker Engine sous Linux.

Point de contrôle

docker compose version

Doit afficher Docker Compose version v2.x.x, ou un numéro plus récent.

2. Récupérer le dossier deploy

Sur https://github.com/mission-titar/p2pwatch, bouton vert Code puis Download ZIP. Décompressez, et gardez uniquement le dossier deploy : copiez-le où vous voulez, renommez-le à votre goût. C'est votre dossier de travail ; toutes les commandes qui suivent s'y lancent. Le reste du ZIP peut être supprimé.

Vous y trouvez compose.yml, les réglages du nœud (crawler.yml, targets.yml, matcher.yml), un dossier data/ vide pour votre catalogue, et un dossier ed2k/ pour le client eMule : ses fichiers compose, amule/ (l'état du client) et downloads/ (incoming/ pour les fichiers terminés, temp/ pour les partiels). Ce sont de simples dossiers sur votre disque, pas des volumes Docker : les sauvegarder, c'est les copier.

Sous Linux, data/ doit exister et vous appartenir avant le premier lancement

Le ZIP le fournit : ne le supprimez pas, et décompressez sans sudo. Un dossier manquant serait créé par Docker au nom de root, et le crawler, qui tourne sous votre identifiant, ne pourrait pas y écrire.

3. Choisir vos mots de passe

Copiez .env.example en .env (cp .env.example .env), ouvrez la copie dans un éditeur, et renseignez les quatre valeurs obligatoires. Le conteneur refuse de démarrer si l'une manque.

Variable Ce qu'il faut y mettre
AMULE_EC_PASSWORD Un mot de passe de votre choix. Il relie entre eux les deux processus aMule ; notez-le quelque part.
AMULE_API_PASSWORD Un autre mot de passe de votre choix. Il protège l'interface web d'aMule sur le port 4711, et c'est aussi par lui que le crawler pilote le client eMule.
PUID Votre identifiant d'utilisateur : id -u sous macOS et Linux, 1000 sous Windows.
PGID Votre identifiant de groupe : id -g sous macOS et Linux, 1000 sous Windows.

Laissez le reste tel quel, les autres valeurs ne servent qu'au VPN. Ne laissez aucun change-me en place : ce sont des mots de passe en clair, donc des portes ouvertes.

Le port 8080 n'a aucune authentification

AMULE_API_PASSWORD protège le port 4711 seulement. Le catalogue p2pwatch sur le port 8080 est servi sans mot de passe, sans connexion, sans jeton CSRF, et il expose le catalogue, les contrôles de crawl (pause, redémarrage) et une console SQL en lecture seule à quiconque atteint ce port.

C'est voulu : l'authentification est déléguée à ce que vous mettez devant. Sur une machine joignable depuis Internet, mettez-le derrière un reverse proxy authentifié, ou un VPN, ou ne publiez pas le 8080 du tout. Voir Faire tourner un nœud, § Exposition derrière un reverse proxy.

4. Lancer

docker compose up -d

Au premier lancement, Docker télécharge les deux images, ce qui peut prendre quelques minutes.

Point de contrôle

docker compose ps

Doit montrer deux services dont l'état commence par Up : p2pwatch, le crawler, et ed2k, le client eMule. Au bout d'une demi-minute environ, ed2k passe à Up (healthy) : le client eMule tourne vraiment.

5. Ouvrir le catalogue

Votre nœud sert deux pages web :

Adresse Ce que c'est Mot de passe
http://localhost:8080 Le catalogue p2pwatch : catalogue en lecture seule, contrôles de crawl, console SQL. Aucun. Voir l'avertissement de l'étape 3.
http://localhost:4711 L'interface web propre à aMule : recherche, transferts, serveurs, état Kad. AMULE_API_PASSWORD de votre .env.

Sur un serveur distant, remplacez localhost par son adresse.

Point de contrôle

http://localhost:8080 affiche le tableau de bord, avec l'état d'aMule, l'identifiant de votre nœud et la liste des épisodes cibles. Si cette page se charge, votre nœud tourne.

Un catalogue vide au début est normal

Il se remplit au fil des heures, et certaines cibles rares mettent des jours à réapparaître : c'est la nature du lost media.


Un Point de contrôle échoue ? Chaque symptôme a sa fiche dans Le déploiement bloque.

Et ensuite ? Mettre à jour, arrêter, sauvegarder, régler les intervalles, prévoir la place disque : Faire tourner un nœud.