Eigener IPFS Node auf einem Linux Server erstellen

Wer seine Videos auf D.Tube besser zur Verfügung stellen möchte, nutzt seinen eigenen IPFS Node-Server.
Die Vorteile liegen klar auf der Hand.
→ Schnellerer Upload der Videos, da der Server (sicherlich) besser an uns angebunden ist
→ Unser Server liefert das Video in den ersten 24h an die Zuschauer aus
D.Tube muss keine Konvertierung des Videos auf 480p vornehmen, da wir das machen
→ Keine Warteschlange beim Uploadprozess

Was brauchen wir dafür?
– Ein Linux Server (egal ob vServer, Root-Server, Dedicated Server oder Homeserver)
– Genug Festplattenspeicher*
– Vollen Root-Zugriff
– Die IFPS Node-Daten
– Screen

*Pro Video muss doppelt so viel MB / GB zur Verfügung stehen, wie das Video groß ist. Haben wir also ein Video mit 1GB, benötigen wir 2GB Speicherplatz! Ist das Video online, brauchen wir nur noch 1GB Speicherplatz.

Ein IPFS Node ist schnell eingerichtet.
Hinweis: Der IPFS Node benötigt den Port 8080, welcher gerne von Webservern verwendet wird! Achte darauf das dieser Port nicht belegt ist!

  1. Downloade dir die IFPS-Daten HIER
  2. Entpacke den Ornder mit tar -xf ORDNERNAME
  3. Führe die install-Datei mit ./install.sh aus
  4. Wechsel in das Verzeichnis usr/local/bin
  5. Gebe den Behel ipfs init ein
  6. Führe nun dem Daemon mit Screen aus screen -S IPFS ./ipfs daemon
    Wir brauchen hier Screen, ansonst wird der Prozess beim Schließen der SSH-Sitzung wieder beendet.
    Dieser Prozess sorgt nachher dafür, das die Videos im IPFS-Netzwerk verteilt werden.
  7. Spring aus dem Screenfenster Raus, indem du Shift+A und danach D drückst
  8. Uploade nun die Videos auf deinen Server (am besten in das gleiche Verzeichnis)
  9. Lade die Videos mit ipfs add VIDEO-DATEINAME.mp4 in das Netzwerk hoch
  10. Du erhälst am Ende die Hash-Werte angezeigt, welche du auf D.Tube eingeben kannst

Alle möglichen Befehle zu IPFS findest du HIER.
Mit HTOP und IFTOP kannst du nun die Serverauslastung der CPU, RAM und Netzwerk ansehen.

Dein IPFS Node ist nun aktiv!

Doch wo ist mein Speicherplatz hin? Ich habe doch die Videos nach dem „Upload“ wieder gelöscht?!
Nicht ganz.
Der IPFS-Server hat die Videos in einer Hash-Form nun auf deinem Server gespeichert. Diese Teile werden dann stückweise abgerufen.
Diese findest du hier: /root/.ipfs/
Da der Ordner mit einem Punkt beginnt, ist er in der Konsole versteckt und du findest ihn nicht sofort.
Leere diesen Ordner erst nach etwa 24 (oder besser 28) Stunden, damit deine Videos in das IPFS-Netzwerk vollständig übertragen werden können. Ein Uploadfortschritt ist dabei nicht zu erkennen.

Viel Spaß beim verbreiten deiner Videos!


Meine Meinung zu einem IPFS Node:

Ich habe das ganze auf einem kleinen vServer mit 2 virtuellen Kernen, 2GB Arbeitsspeicher und 80GB SSHD installiert.
Damit kann ich meine Videos sofort der Community zur Verfügung stellen.
Da der Server in der nähe von Frankfurt steht, habe ich eine sehr gute Anbindung und die Videos spielen auf D.Tube sofort ab.
Ich muss zwar Videos in voller Auflösung und in 480p hochladen, das ist für mich am Ende aber schneller, als auf den Konvertierungsprozess von D.Tube zu warten.
Wer also ein Server gerade zur Verfügung hat, kann diesen problemlos als IPFS Node einsetzen und der D.Tube-Community etwa gutes tun!
Problem an der ganze Sache ist nur, das die Videos in Stücke gehackt werden und auf dem Server gespeichert werden. Das dauert bei größeren Videos und bei einer langsammen Festplatte sehr lange.
Wer also eine SSD im Server hat, ist ganz klar im Vorteil.

Mein Tipp für alle, die ihr Internet von zuhause der Welt zur Verfügung stellen möchten:
Wer ein Raspberry Pi oder ein Amazon Fire TV besitzt, kann auch dort ein IPFS Node installieren und dieser z.B. laufen lassen, wenn du nicht zuhause bist.
Die kleinen Geräte benötigen weniger Strom als dein Notebook oder PC.

Ein Beispiel erwünscht?
Dieses Video liegt auf meinem Server:

Dieses Video ist direkt über D.Tube hochgeladen:

4 Kommentare

  1. Hallo,
    mal ne Frage.
    Hab jetzt diese Anleitung und die von sempervideo versucht.
    Ich kann dem Netzwerk Daten geben usw. aber der Node dient nicht als Node, also es werden z.B keine weiteren Daten automatisch heruntergeladen um sie anderen bereit zustellen.
    Was muss ich machen damit ich anderen Leuten „ihre“ Dateien Bereitstellen kann?

    • Das bereitstellen von bestimmten Daten ist leider (aktuell) nicht möglich.
      <>
      Einfach mal den IPFS-Node eine weile laufen lassen und dann die Ordnergröße anschauen. Sie sollte in der Regel etwas größer werden.

      Ich schätze mal, das wer seinen Node mit bestimmten Videos befüttern möchte, sollte die Videos über diesen Node laden lassen und nicht die öffentlichen D.Tube/IPFS-Nodes verwenden.
      (Sofern es ein Server im Rechenzentrum ist, ist die Verwendung einer VPN hilfreich.)

  2. Das stimmt nicht.
    Hier handelt es sich um ein wirklich großes Missverständnis. Wo Sempervideo beiträgt.
    Schaut mal hier
    https://github.com/ipfs/faq/issues/47
    hier wird eindeutig gesagt das keine anderen Dateien heruntergeladen werden.
    Bitte Artikel bearbeiten!!!

    • Der Artikel ist an sich korrekt, da hier nicht explizit erwähnt wird, das wir von anderen die Daten bereit stellen. Wir stellen in erster Linie unsere Daten bereit.
      Wenn was falsch ist, dann ist es mein kKomentar dazu 😉

      So wie ich das verstanden habe, ist es möglich, die Daten von anderen zu hosten. Das ganze ist aber in den Standardeinstellungen deaktiviert.

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.