Il s’agit de la première version étiquetée d’ADAMANT IPFS Node et de la première image conteneurisée publiée. Il s’agit d’un nœud de stockage IPFS auto-hébergé destiné à la distribution de fichiers d’application, doté d’une gestion limitée de l’espace disque, d’une réplication déterministe, de fonctions de réparation, de points de contrôle de santé et d’une API REST. C’est un service Node.js et Helia autonome, et non une surcouche de Kubo.
Exécution
docker volume create ipfs-node-data
docker run -d \
--name ipfs-node \
--restart unless-stopped \
--stop-timeout 20 \
-v ipfs-node-data:/data \
-v "$PWD/config.json5:/app/config.json5:ro" \
-p 127.0.0.1:4000:4000 \
-p 4001:4001 \
ghcr.io/adamant-im/ipfs-node:0.1.0
L’image ne contient aucune configuration par défaut ; montez-en une sur /app/config.json5. HOME est défini sur /data, de sorte qu’un seul volume /data contient le magasin de blocs, le magasin de données, l’identité de pair libp2p, l’ensemble des épinglages, le registre de cycle de vie, le curseur de réparation et le point de contrôle de santé. Le fichier docker/config.example.json5 présent dans le dépôt constitue un point de départ autonome qui ne rejoint aucun réseau. Conçu pour linux/amd64 et linux/arm64, il s’exécute en tant qu’utilisateur sans privilèges, avec un SBOM et une attestation de provenance joints.
Contenu
Le nœud permet le téléchargement REST de fichiers multipart et le téléchargement par contenu adressé via CID. Il maintient un maillage de pairs contrôlé sur TCP avec Noise et Yamux, en ne déclarant que les protocoles identify et ping. Le cycle de vie du stockage est limité par une réserve disque, des limites de requêtes agrégées, des téléchargements temporaires avec TTL et un ramasse-miettes piloté par seuils. Le placement est déterministe par hachage de rendez-vous, avec des nombres de copies qui diminuent à mesure que le fichier vieillit. La réplication entre nœuds et un cycle de réparation reprenable fonctionnent via un protocole libp2p authentifié par la poignée de main. Les points de contrôle de santé sensibles au réseau comportent une hauteur monotone et une époque d’appartenance explicite. Des limites de débit par point de terminaison et un contrôle d’admission s’appliquent aux téléchargements simultanés.
Limites
Il n’y a ni DHT, ni IPNS, ni passerelle publique, ni API Kubo. Le contenu stocké ici n’est pas annoncé sur le réseau IPFS public, et le contenu existant uniquement sur le réseau public ne peut pas être récupéré via ce nœud. Une topologie de pairs contrôlée réduit l’exposition publique des métadonnées de routage de contenu, mais cela ne rend pas, en soi, un déploiement privé, anonyme, sans confiance ou résistant à la censure. Le téléchargement et l’envoi ne sont pas authentifiés par conception ; la seule accréditation est une clé administrative. La suppression signée par l’utilisateur (#27), la découverte de pairs (#28), la comptabilisation du trafic (#29), un répertoire de données absolu (#30) et l’interopérabilité avec le réseau public (#31) sont des travaux en cours.