Neko: Dein virtueller Browser im Team – Installation mit Docker

Installiere Neko, einen virtuellen Browser für kollaboratives Surfen, auf deinem eigenen Server. Diese Anleitung zeigt dir die Einrichtung mit Docker und Docker Compose.

Neko: Dein virtueller Browser im Team – Installation mit Docker hero image

Stell dir vor, du könntest einen Browser-Tab mit Freunden oder Kollegen teilen, als säßet ihr alle vor demselben Bildschirm – ohne laggy Screen-Sharing oder Datenschutzbedenken bei TeamViewer & Co. Genau das ermöglicht Neko, ein selbst gehosteter virtueller Browser, der auf Docker und WebRTC basiert.

In dieser Anleitung zeige ich dir, wie du die aktuelle Version von Neko auf deinem eigenen Server installierst. Am Ende hast du deinen eigenen, privaten Raum für gemeinsame Online-Aktivitäten, sei es für eine Watchparty, eine Programmier-Session, eine kollaborative Recherche oder dem Aufruf von verdächtigen Links.

Key Takeaways

AspektBeschreibung
Was ist Neko?Ein selbst gehosteter, virtueller Browser, der in einem Docker-Container läuft und über WebRTC gestreamt wird.
HauptvorteileGeringe Latenz, kollaboratives Surfen für mehrere Benutzer, volle Datenkontrolle und keine Abhängigkeit von Drittanbieter-Tools.
TechnologieBasiert auf Docker für einfache Installation und WebRTC für eine schnelle Peer-to-Peer-Video- und Audioübertragung.
InstallationErfolgt unkompliziert über Docker Compose.
KonfigurationWichtige Einstellungen wie Passwörter und Bildschirmauflösung werden über Umgebungsvariablen in der compose.yaml-Datei gesteuert.
Netzwerk (wichtig!)Für eine zuverlässige Verbindung über das Internet (insbesondere hinter NAT) ist die Konfiguration von STUN/TURN-Servern entscheidend.

Voraussetzungen

  • Ein Server: Ein VPS oder ein Homeserver mit installiertem Linux (z.B. Ubuntu 24.04). Die Hardware-Anforderungen sind nicht zu unterschätzen: Plane mindestens 2-4 CPU-Kerne und 3-4 GB RAM für eine flüssige 720p-Session ein.
  • Docker und Docker Compose: Müssen auf dem Server installiert sein.
  • Eine Domain: Empfohlen für den sicheren Zugriff über HTTPS mit einem Reverse Proxy.
  • Grundlegende Terminal-Kenntnisse: Du solltest dich per SSH mit deinem Server verbinden und Befehle ausführen können.

Schritt 1: Server vorbereiten und Verzeichnis anlegen

Verbinde dich per SSH mit deinem Server. Zuerst stellen wir sicher, dass Docker und Docker Compose auf dem neuesten Stand sind.

# System aktualisieren
sudo apt update && sudo apt upgrade -y

# Docker und Docker Compose installieren (falls noch nicht geschehen)
# Folge der offiziellen Anleitung auf docs.docker.com

Jetzt legen wir eine Ordnerstruktur für unser Neko-Projekt an.

# Verzeichnis erstellen und hineinwechseln
mkdir ~/neko
cd ~/neko

Schritt 2: Die compose.yaml für Neko erstellen

Erstelle eine compose.yaml-Datei. Hier definieren wir den Neko-Dienst.

nano compose.yaml

Füge den folgenden Inhalt ein. Wir starten mit einer Konfiguration für Firefox.

services:
  neko:
    image: ghcr.io/m1k1o/neko/firefox:latest # Du kannst hier auch andere Browser wie 'chromium' oder 'google-chrome' wählen
    container_name: neko
    restart: unless-stopped
    shm_size: "2gb" # Wichtig für die Browser-Performance, besonders bei Chromium-basierten Browsern
    cap_add:
      - SYS_ADMIN
    ports:
      - "8080:8080" # Host-Port:Container-Port für die Web-UI
      - "52000-52100:52000-52100/udp" # Ports für WebRTC-Streaming
    environment:
      - NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=dein_sicheres_admin_passwort # Passwort für Admins
      - NEKO_MEMBER_MULTIUSER_USER_PASSWORD=dein_sicheres_benutzer_passwort # Passwort für normale Benutzer
      - NEKO_DESKTOP_SCREEN=1920x1080@30 # Auflösung und Bildrate des virtuellen Desktops
      - NEKO_WEBRTC_EPR=52000-52100 # Port-Bereich für WebRTC (muss mit 'ports' übereinstimmen)
#     - NEKO_WEBRTC_ICESERVERS=[{"urls":["stun:stun.l.google.com:19302"]}] # Beispiel für einen öffentlichen STUN-Server

Wichtige Anpassungen:

  • image: Die Images werden jetzt über die GitHub Container Registry (ghcr.io) bereitgestellt. Wähle dein bevorzugtes Image. Eine Liste findest du in der Dokumentation.
  • shm_size: 2gb ist ein guter Startwert. Browser benötigen viel Shared Memory, besonders Chromium-basierte.
  • ports: Der Port 8080 ist für die Weboberfläche. Der UDP-Portbereich 52000-52100 ist für die WebRTC-Verbindung essenziell. Stelle sicher, dass diese Ports in deiner Firewall (falls vorhanden) freigegeben sind.
  • environment: Hier verwenden wir die neuen v3 Konfigurationsvariablen.
    • NEKO_MEMBER_MULTIUSER_..._PASSWORD: Ersetze die Passwörter durch sichere, eigene Werte.
    • NEKO_WEBRTC_ICESERVERS: Dies ist entscheidend, damit Neko hinter den meisten Routern (NAT) funktioniert. Im Beispiel ist hier ein öffentlicher STUN-Server von Google im JSON-Format. Das ist nicht notwendig bei einem externen VPS.

Speichere die Datei und starte den Container:

sudo docker compose up -d

Schritt 3: Erster Zugriff und Nutzung

Öffne deinen Browser und gib die IP-Adresse deines Servers gefolgt von Port 8080 ein: http://DEINE_SERVER_IP:8080.

Du wirst nach einem Passwort gefragt. Gib das NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD ein. Du solltest nun den gestreamten Firefox-Browser in deinem Browser sehen!

  • Linke Seitenleiste: Hier findest du den Chat und die Benutzerliste.
  • Obere Leiste: Als Admin kannst du hier die Kontrolle an andere Benutzer übergeben.
  • Untere Leiste: Hier lässt sich auch die Kontrolle selbst übernehmen.

Lade einen Freund ein, indem du ihm den Link und das User_Passwort gibst. Ihr könnt nun gemeinsam surfen, Videos schauen oder Dokumente bearbeiten.

Fazit

Neko ist ein fantastisches Tool für kollaboratives Surfen und eine hervorragende, datenschutzfreundliche Alternative zu traditionellem Screen Sharing. Die Installation mit Docker ist unkompliziert, und mit ein paar Konfigurationen hast du eine stabile und sichere Plattform für dich und deine Freunde.

FAQs

Was ist der Unterschied zwischen dem Admin- und dem Benutzer-Passwort?

Jeder kann sich mit dem Benutzer-Passwort (`NEKO_MEMBER_MULTIUSER_USER_PASSWORD`) verbinden und die Sitzung ansehen. Der Administrator, der sich mit dem Admin-Passwort (`NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD`) anmeldet, hat mehr Kontrolle.

Warum funktioniert mein Audio oder Video nicht? (Verbindungsfehler)

Das ist meist ein Netzwerkproblem. Stelle sicher, dass der UDP-Portbereich (z.B. 52000-52100) in deiner `compose.yaml` definiert und in deiner Firewall freigegeben ist. Ein korrekt konfigurierter STUN-Server (`NEKO_WEBRTC_ICESERVERS`) ist ebenfalls entscheidend. Überprüfe die Logs (`sudo docker compose logs neko`) auf Fehlermeldungen bezüglich WebRTC.

Ich sehe nur einen schwarzen Bildschirm bei Chromium-basierten Browsern.

Chromium, Google Chrome etc. benötigen mehr 'Shared Memory'. Stelle sicher, dass du `shm_size: '2gb'` in deiner `compose.yaml` gesetzt hast. Bei einigen Setups kann auch die Option `cap_add: [SYS_ADMIN]` notwendig sein.

Kann ich Browser-Erweiterungen installieren?

Nicht ohne Weiteres. Da der Browser im Container läuft, müsstest du ein eigenes Docker-Image erstellen, das die gewünschten Erweiterungen bereits enthält. Das ist ein fortgeschrittener Anwendungsfall.

Diesen Beitrag teilen:

Diese Website verwendet Cookies. Diese sind notwendig, um die Funktionalität der Website zu gewährleisten. Weitere Informationen finden Sie in der Datenschutzerklärung