So hostest und teilst du große Dateien online mit PicoShare in Linux

Ein Foto von einer Person vor einem Laptop mit einem Telefon in der Hand.

Picoshare ist eine leichtgewichtige und hochgradig zugängliche Web-App zum Teilen von Dateien für Linux. Sie bietet eine benutzerfreundliche Oberfläche, über die du Dateien von deinem eigenen Server hochladen und teilen kannst. Dieser Artikel zeigt dir, wie du Picoshare installierst und Dateien online mit Docker in Ubuntu Linux teilst.

Inhaltsverzeichnis

  • Warum Picoshare zum Teilen von Dateien online verwenden
  • Installation der Voraussetzungen für PicoShare
  • Installation und Ausführung von PicoShare
  • Sicherung von PicoShare mit einem SSL-Reverse-Proxy
  • Testen von PicoShare und Hochladen deiner ersten Datei

Warum Picoshare zum Teilen von Dateien online verwenden

Einer der größten Verkaufsargumente von PicoShare ist, dass es mühelos auf jeder Linux-basierten Plattform bereitgestellt werden kann. Mit Hilfe von Docker kannst du Dateien online mit PicoShare teilen, ohne dir Gedanken über Linux-Abhängigkeiten und Programmkompatibilität machen zu müssen.

Ein weiteres Verkaufsargument von PicoShare ist, dass es die Dateien, die du auf seine Plattform hochlädst, nicht manipuliert. Das macht es nützlich zum Teilen von Bildern und Videos, da du dir sicher sein kannst, dass der Server deine Medien beim Hochladen nicht neu kodiert.

Ein Screenshot von PicoShare, das auf einem Server läuft.

Schließlich bietet PicoShare die Möglichkeit, seinen Dateispeicher auf externe Objektspeicherlösungen zu duplizieren. Zum Beispiel kannst du deinen Amazon S3-kompatiblen Bucket mit deinem PicoShare-Server verknüpfen und ein 1:1-Backup des Inhalts deines Servers erstellen. Das erleichtert die Wiederherstellung von Daten beim Migrieren von einem System zu einem anderen.

Installation der Voraussetzungen für PicoShare

Annahme: Dieses Tutorial wird auf einem Ubuntu 24.04-Rechner mit mindestens 2 GB RAM und 50 GB Speicherplatz durchgeführt. Du musst einen Domainnamen haben, für den du “A”-Einträge erstellen kannst. Schließlich wird in diesem Artikel DigitalOcean Spaces als S3-kompatible Objektspeicher-Backend verwendet.

Hinweis: Während die Anweisungen hier für Ubuntu sind, sollten sie auch für die meisten Linux-Distributionen funktionieren.

Der erste Schritt zur Installation von PicoShare besteht darin, sowohl Docker als auch Nginx für dein Host-System zu erhalten (für andere Linux-Distributionen, hier ist, wie du Docker auf deinen Linux-Systemen installierst). Zuerst rufe den Signaturschlüssel für das Repository des Docker-Projekts ab:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Erstelle eine neue apt-Repository-Datei mit deinem bevorzugten Texteditor:

sudonano/etc/apt/sources.list.d/docker.list

Füge die folgende Zeile Code in deine neue Repository-Datei ein:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

Speichere deine Repository-Datei und aktualisiere dann sowohl die Repository-Listings des Systems als auch seine aktuellen Pakete:

sudo apt update &&sudo apt upgrade

Installiere Docker, Docker Compose und Nginx mit apt in Ubuntu:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

Erstellen eines Cloud-Speicher-Backups für PicoShare

Gehe zu deinem S3-kompatiblen Cloud-Speicheranbieter und erstelle einen neuen Speicher-Bucket. In diesem Fall verwende ich DigitalOcean Spaces, also klicke ich auf Erstellen -> Spaces Object Storage auf meinem Dashboard-Bildschirm.

Ein Screenshot, der den Standort des Menüeintrags

Wähle einen Datacenter-Standort für deinen S3-kompatiblen Speicher aus und aktiviere das Kontrollkästchen CDN aktivieren.

Ein Screenshot, der die Schaltflächen zur Konfiguration des Standorts des Spaces-Buckets und ob der Bucket das CDN von DigitalOcean verwenden wird, zeigt.

Gib einen Namen für deinen neuen Spaces-Bucket ein und klicke dann auf Einen Spaces-Bucket erstellen, um ihn zu initialisieren.

Ein Screenshot, der die Texteingabeaufforderung für den Spaces-Namen und den Standort der Schaltfläche

Klicke auf das Kopiersymbol im Textfeld für den Ursprungsendpunkt und füge es in eine separate Textdatei ein.

Ein Screenshot, der den Standort des Kopiersymbols im Dashboard von Spaces hervorhebt.

Scrolle durch die linke Seitenleiste deines DigitalOcean-Dashboards und klicke auf die Kategorie API.

Klicke auf die Registerkarte Spaces-Schlüssel und wähle Neuen Schlüssel generieren.

Gib einen Namen für deinen neuen Schlüssel ein und klicke dann auf Zugriffsschlüssel erstellen.

Kopiere sowohl den “Zugriffsschlüssel” als auch den “Geheimen Schlüssel” von der Seite und füge ihn in deine Textdatei ein.

Ein Screenshot, der den Standort des Zugriffsschlüssels und des geheimen Schlüssels für den Spaces-Bucket zeigt.

Installation und Ausführung von PicoShare

Erstelle einen neuen Ordner für PicoShare im Home-Verzeichnis deines Benutzers und gehe dann hinein:

mkdir ~/picoshare &&cd ~/picoshare

Verwende deinen bevorzugten Texteditor, um die Compose-Datei für PicoShare zu erstellen:

nano ./docker-compose.yml

Füge den folgenden Block Code in deine neue .yml-Datei ein:

version: "3.2"  
services:  
  picoshare:  
    image: mtlynch/picoshare  
    environment:  
      - PORT=4001  
      - PS_SHARED_SECRET=ZUFÄLLIGES PASSWORT HIER  
      - LITESTREAM_BUCKET="DEIN BUCKET NAME"  
      - LITESTREAM_ENDPOINT="DEIN URSPRUNG ENDPOINT HIER"  
      - LITESTREAM_ACCESS_KEY_ID="DEIN BUCKET ZUGRIFFS-ID HIER"  
      - LITESTREAM_SECRET_ACCESS_KEY="DEIN BUCKET GEHEIMNIS HIER"  
    ports:  
      - 4001:4001  
    command: -db /data/store.db  
    volumes:  
      - ./data:/data

Ersetze den Wert der Variablen “PS_SHARED_SECRET” durch ein ausreichend langes und zufälliges Passwort. Dies wird als Passwort für die Weboberfläche von PicoShare dienen.

Ein Terminal, das das zufällig generierte gemeinsame Passwort für die PicoShare-Instanz zeigt.

Hinweis: Du kannst dein eigenes zufälliges Passwort generieren, indem du in einer separaten Terminal-Sitzung Folgendes ausführst: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1.

Ändere den Wert der Variablen “LITESTREAM_BUCKET” in den Namen deines Spaces-Buckets.

Ein Terminal, das den entsprechenden Wert für den S3-kompatiblen Bucket zeigt.

Kopiere den Bereich und den Domainnamen deines Endpunkts und füge ihn als Wert deiner Variablen “LITESTREAM_ENDPOINT” ein.

Ein Screenshot, der das richtige Format für die S3-kompatible Endpunktvariable zeigt.

Ersetze die Werte sowohl der Variablen “LITESTREAM_ACCESS_KEY_ID” als auch der “LITESTREAM_SECRET_ACCESS_KEY_ID” mit dem Zugriffsschlüssel und dem geheimen Schlüssel des DigitalOcean Spaces-Buckets.

Ein Screenshot, der den Zugriffsschlüssel und den geheimen Schlüssel für die PicoShare-Instanz zeigt.

Speichere deine docker-compose.yml-Datei und führe dann den folgenden Befehl aus, um die PicoShare-Instanz zu erstellen und auszuführen:

sudodocker compose up -d

Nebenbei bemerkt: Du kannst auch Docker und Docker Compose verwenden, um schnell einen Minecraft-Server auf deinem Linux-Rechner zu hosten.

Sicherung von PicoShare mit einem SSL-Reverse-Proxy

An diesem Punkt läuft PicoShare jetzt auf Port 4001 auf deinem lokalen Rechner. Um sicher darauf im Internet zugreifen zu können, musst du sicherstellen, dass alle Verbindungen zu ihm über SSL verschlüsselt sind.

Beginne damit, einen neuen “A”-Eintrag für deinen Domainnamen zu erstellen, der auf die IPv4-Adresse deines PicoShare-Servers zeigt. In meinem Fall werde ich einen “A”-Eintrag mit dem Wert “picoshare” erstellen.

Installiere das Snap-Paket “core” auf deinem Ubuntu-System:

sudo snap install core

Hole das Certbot-Snap-Paket von der Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

Erstelle eine neue Nginx-Website-Konfigurationsdatei mit deinem bevorzugten Texteditor:

sudonano/etc/nginx/sites-available/picoshare

Füge den folgenden Block Code in deine Site-Konfigurationsdatei ein:

server{  

server_name SUBDOMAIN.DEINE-ROOT.DOMAIN;  

location / {  
proxy_passhttp://127.0.0.1:4001;  
proxy_http_version 1.1;  
proxy_redirect off;  
proxy_set_header Upgrade $http_upgrade;  
proxy_set_header Connection "upgrade";  
proxy_set_header X-Forwarded-Proto https;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_set_header Host $host;  
client_max_body_size 0m;  
}  
}

Speichere deine Site-Konfigurationsdatei und erstelle dann einen symbolischen Link von deinem Verzeichnis “/etc/nginx/sites-available/“ zu deinem Ordner “/etc/nginx/sites-enabled/“:

sudoln-s/etc/nginx/sites-available/picoshare /etc/nginx/sites-enabled/

Überprüfe deine Nginx-Konfigurationsdatei auf Fehler und starte dann den Nginx-Webserver-Daemon mit systemctl:

ginx -t  
sudo systemctl enable--now nginx.service

Ein Terminal, das die Konfigurationsüberprüfung und den systemctl-Befehl zum Starten des Nginx-Webservers zeigt.

Registriere deinen PicoShare-Server mit dem Certbot-Dienstprogramm der EFF:

sudo certbot register --agree-tos-m [email protected]

Generiere ein neues SSL-Zertifikat, das auf den Domainnamen deines Servers zeigt:

sudo certbot --nginx-d SUBDOMAIN.DEINE-ROOT.DOMAIN

Gut zu wissen: Erfahre, wie HTTPS deine Daten online schützt, indem du dein eigenes SSL-Zertifikat mit OpenSSL generierst.

Testen von PicoShare und Hochladen deiner ersten Datei

Öffne einen Webbrowser und navigiere zu deinem Subdomain, um die PicoShare-Startseite zu laden.

Ein Screenshot, der die Startseite von PicoShare zeigt, die auf einem VPS läuft.

Klicke auf die Schaltfläche Einloggen in der oberen rechten Ecke der Seite.

Gib den Wert von “PS_SHARED_SECRET” im Textfeld Passphrase ein und klicke dann auf Authentifizieren, um dich anzumelden.

Ein Screenshot, der die Anmeldeaufforderung für PicoShare zeigt.

Überprüfe, ob du Daten auf deinem PicoShare-Server speichern kannst, indem du auf die Schaltfläche Hochladen klickst und dann eine Beispiel-Datei über das Auswahlmenü auswählst.

Ein Screenshot, der den Standort der Upload-Schaltfläche im internen Dashboard hervorhebt.

Kopiere den ersten Link, den der Server dem Benutzer zurückgibt, dem du deine Datei teilen möchtest.

Ein Screenshot, der den Standort des ersten teilbaren Links in der PicoShare-Instanz hervorhebt.

Temporäre Gast-Uploads auf PicoShare aktivieren

Neben benutzergenerierten Uploads kannst du auch temporäre Links erstellen, die anonymen Benutzern das Hochladen einzelner Dateien auf deinen Server ermöglichen. Dies kann nützlich sein, wenn jemand Dateien mit dir teilen muss, aber keine Dateien auf einen regulären Cloud-Dienst hochladen kann.

Beginne damit, die Kategorie Gastlinks auf der Startseite von PicoShare anzuklicken.

Ein Screenshot, der den Standort der Kategorie

Klicke auf die Schaltfläche Neu erstellen direkt über der leeren Linkübersichtstabelle.

Gib die grundlegenden Details für deinen Gast-Upload-Link an. In meinem Fall werde ich ihn als “MakeTechEasier” kennzeichnen und die Ablaufzeit auf Nie mit einer Dateigrößenbeschränkung von 100 MB und einer Gesamtlimit von 10 Uploads festlegen.

Ein Screenshot, der ein ausgefülltes Gastlink-Formular zeigt.

Klicke auf Erstellen, um den temporären Gastlink für deine PicoShare-Instanz zu generieren.

Klicke auf das Kopiersymbol auf der rechten Seite des Gastlinks und sende den Inhalt deiner Zwischenablage an den vorgesehenen Empfänger.

Ein Screenshot, der den Standort des Kopiersymbols auf dem Bildschirm für Gastlinks zeigt.

Das Bereitstellen und Sichern von PicoShare, um Dateien online mit Linux zu teilen, ist nur der erste Schritt, um deine digitale Privatsphäre online zurückzugewinnen. Erfahre, wie du dich weiter schützen kannst, indem du deinen eigenen E-Mail-Alias-Server mit SimpleLogin hostest.

Bildnachweis: Alejandro Escamilla über Unsplash und PicoShare Github. Alle Änderungen und Screenshots von Ramces Red.