Neko ist ein Virtueller Browser. Er ermöglicht dir eine Browser Session aus einem Docker Container heraus zu streamen. Damit kann man collaborativ eine Sitzung teilen um z.B. eine Präsentation online zu halten, ein online System live zu schulen oder gemeinsam online zu recherchieren.
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
1. Ordner anlegen
Als erstes legst du dir einen Ordner an.
mkdir -p /opt/containers/neko
2. Docker Compose Datei anlegen
Danach erstellen wir eine docker-compose.yml Datei.
services: neko: image: "ghcr.io/m1k1o/neko/firefox:latest" restart: "unless-stopped" shm_size: "2gb" ports: - "52000-52100:52000-52100/udp" volumes: - ./firefox:/home/neko/.mozilla/firefox # speicherort der Firefox-Einstellungen networks: - proxy environment: NEKO_DESKTOP_SCREEN: '1920x1080@30' # Auflösung der Webseite NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin NEKO_WEBRTC_EPR: 52000-52100 NEKO_WEBRTC_ICELITE: 1 NEKO_WEBRTC_NAT1TO1: 8.8.8.8 2001:4860:4860::8888 2001:4860:4860::8844 # IP Adresse des Hosts labels: - "traefik.enable=true" - "traefik.http.routers.neko-firefox.entrypoints=websecure" - "traefik.http.routers.neko-firefox.rule=Host(`neko.euredomain.de`)" - "traefik.http.routers.neko-firefox.tls=true" - "traefik.http.routers.neko-firefox.tls.certresolver=http_resolver" - "traefik.http.routers.neko-firefox.service=neko-firefox" - "traefik.http.services.neko-firefox.loadbalancer.server.port=8080" - "traefik.docker.network=proxy" - "traefik.http.routers.neko-firefox.middlewares=default@file" networks: proxy: external: true
Ändere foldendes ab:
NEKO_WEBRTC_NAT1TO1:
Hier trägst du die eigene Host IP Adresse ein. Mit einem Leerzeichen getrennt kannst du danach auch deine öffentliche IPv6 Adresse eingetragen.
Beispiel: 8.8.8.8 2001:4860:4860::8888 2001:4860:4860::8844
Hostadresse: neko.euredomain.de
2.1 Erläuterungen
NEKO_DESKTOP_SCREEN: '1920x1080@30'
Dies ist die Auflösung in welcher der virtuelle Browser die Webseite rendert. Man kann den Browser auch mit einem Smartphone aufrufen, die Auflösung der aufgerufenen Webseite bleibt bei diesem Wert.
Der Login im Neko System ist simpel. Beim einloggen wird der Benutzername vom Anwender frei gewählt. Das Passwort alleine entscheidet über den Login und die Berechtigungen. NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
Mit dem Passwort neko erhält man Benutzer RechteNEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
Mit dem Passwort admin erhält man Admin Berechtigungen.
3. Neko starten
Nun startest du den Container einmal und beendest ihn anschließend um die Berechtigungen für das firefox
Verzeichnis zu setzen.
docker compose up
docker compose down
Nun wurde das Verzeichnis firerfox
erstellt und die Berechtigungen können gesetzt werden.
chmod 777 firefox -R
Danach startest du den Container erneut.
docker compose up -d
4. Den virtuellen Browser aufrufen
Nach dem Aufruf von neko.euredomain.de
kannst du dich einloggen.
Der Benutzername ist frei wählbar, das Passwort als Admin ist in diesem Fall adminadmin
[1] – Hier aktivierst du die Maus und Tastatur. Es kann bei mehreren Teilnehmern nur einer gleichzeitig die Steuerung übernehemen.
[2] – Hier stellst du die Ansicht auf Fullscreen. Mit Escape beendet man den Fullscreen.
[3] – Hier kannst du dich per Chat mit anderen Teilnehmern austauschen
[4] – Hier kannst du den Stream abdocken und neben dem Browser weiterschauen (Bekannt von z.B. Youtube)
5. Weitere Möglichkeiten
Das Neko Projekt beherrscht nicht nur das Streamen eines Browsers. Auch VLC, Remmina und sogar KDE lassen sich damit streamen. Weitere Informationen dazu findest du hier auf der Projektseite.
Dabei braucht in den meisten fällen nur der Container Tag geändert werden.
Ein Beispiel: "ghcr.io/m1k1o/neko/firefox:latest"
ändern in "ghcr.io/m1k1o/neko/google-chrome
startet dann den Chrome Browser.:latest
"