update docs and add examples + ungoogled chromium svg.

This commit is contained in:
Miroslav Šedivý 2025-02-16 23:40:55 +01:00
parent d1a2717ec1
commit 2dd5585b49
10 changed files with 179 additions and 23 deletions

View file

@ -149,7 +149,7 @@ member:
:::tip
For easier configuration, you can specify only passwords using environment variables:
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
environment:
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: "neko"
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: "admin"

View file

@ -453,7 +453,7 @@ sudo modprobe v4l2loopback exclusive_caps=1
This is needed even if neko is running inside a Docker container. In that case, the v4l2loopback module must be loaded on the host machine and the device must be mounted inside the container.
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
services:
neko:
...

View file

@ -66,7 +66,7 @@ import TabItem from '@theme/TabItem';
<TabItem value="docker-compose" label="Docker Compose configuration">
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
cap_add:
- SYS_ADMIN
shm_size: 2g
@ -79,7 +79,7 @@ import TabItem from '@theme/TabItem';
| ---- | ---- | ------------ |
| <img src="/img/icons/chromium.svg" width="60" height="60" /> | [Chromium](https://www.chromium.org/chromium-projects/) <br /> The open-source project behind Google Chrome. | [`ghcr.io/m1k1o/neko/chromium`](https://ghcr.io/m1k1o/neko/chromium) |
| <img src="/img/icons/google-chrome.svg" width="60" height="60" /> | [Google Chrome](https://www.google.com/chrome/) <br /> The most popular browser in the world. | [`ghcr.io/m1k1o/neko/google-chrome`](https://ghcr.io/m1k1o/neko/google-chrome) |
| <img src="/img/icons/chromium.svg" width="60" height="60" /> | [Ungoogled Chromium](https://github.com/Eloston/ungoogled-chromium) <br /> A fork of Chromium without Google integration. | [`ghcr.io/m1k1o/neko/ungoogled-chromium`](https://ghcr.io/m1k1o/neko/ungoogled-chromium) |
| <img src="/img/icons/ungoogled-chromium.svg" width="60" height="60" /> | [Ungoogled Chromium](https://ungoogled-software.github.io/) <br /> A fork of Chromium without Google integration. | [`ghcr.io/m1k1o/neko/ungoogled-chromium`](https://ghcr.io/m1k1o/neko/ungoogled-chromium) |
| <img src="/img/icons/microsoft-edge.svg" width="60" height="60" /> | [Microsoft Edge](https://www.microsoft.com/edge) <br/> The new Microsoft Edge is based on Chromium. | [`ghcr.io/m1k1o/neko/microsoft-edge`](https://ghcr.io/m1k1o/neko/microsoft-edge) |
| <img src="/img/icons/brave.svg" width="60" height="60" /> | [Brave](https://brave.com/) <br /> A privacy-focused browser. | [`ghcr.io/m1k1o/neko/brave`](https://ghcr.io/m1k1o/neko/brave) |
| <img src="/img/icons/vivaldi.svg" width="60" height="60" /> | [Vivaldi](https://vivaldi.com/) <br /> A highly customizable browser. | [`ghcr.io/m1k1o/neko/vivaldi`](https://ghcr.io/m1k1o/neko/vivaldi) |

View file

@ -44,7 +44,7 @@ You can also use Docker Compose to run Neko. It is preferred to use Docker Compo
Create a `docker-compose.yml` file with the following content:
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
services:
neko:
image: ghcr.io/m1k1o/neko/firefox:latest

View file

@ -0,0 +1,121 @@
---
sidebar_position: 7
---
# Examples
Here are some examples to get you started with Neko. You can use these examples as a reference to create your own configurations.
## Firefox
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
restart: "unless-stopped"
shm_size: "2gb"
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
volumes:
- <your-host-path>:/home/neko/.mozilla/firefox # persist firexfox settings
environment:
NEKO_DESKTOP_SCREEN: '1920x1080@30'
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
NEKO_WEBRTC_NAT1TO1: <your-IP>
```
## Chromium
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/chromium:latest"
restart: "unless-stopped"
shm_size: "2gb"
cap_add:
- SYS_ADMIN
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
volumes:
- <your-host-path>:/home/neko/.config/chromium # persist chromium settings
environment:
NEKO_DESKTOP_SCREEN: '1920x1080@30'
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
NEKO_WEBRTC_NAT1TO1: <your-IP>
```
## VLC
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/vlc:latest"
restart: "unless-stopped"
shm_size: "2gb"
cap_add:
- SYS_ADMIN
volumes:
- "<your-video-folder>:/video" # mount your video folder
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
environment:
NEKO_DESKTOP_SCREEN: '1920x1080@30'
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
NEKO_WEBRTC_NAT1TO1: <your-IP>
```
## Raspberry Pi
```yaml title="config.yaml"
capture:
video:
codec: h264
ids: [ main ]
pipelines:
main:
gst_pipeline: |
ximagesrc display-name=%s use-damage=0 show-pointer=true use-damage=false
! video/x-raw,framerate=30/1
! videoconvert
! queue
! video/x-raw,framerate=30/1,format=NV12
! v4l2h264enc extra-controls="controls,h264_profile=1,video_bitrate=1250000;"
! h264parse config-interval=3
! video/x-h264,stream-format=byte-stream,profile=constrained-baseline
```
```yaml title="docker-compose.yaml"
services:
neko:
# see docs for more variants
image: "ghcr.io/m1k1o/neko/arm-chromium:latest"
restart: "unless-stopped"
# increase on rpi's with more then 1gb ram.
shm_size: "520mb"
ports:
- "8088:8080"
- "52000-52100:52000-52100/udp"
# note: this is important since we need a GPU for hardware acceleration alternatively
# mount the devices into the docker.
privileged: true
volumes:
- "./config.yaml:/etc/neko/neko.yaml"
environment:
NEKO_DESKTOP_SCREEN: '1280x720@30'
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: 'neko'
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: 'admin'
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
```

View file

@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 6
---
# Troubleshooting
@ -27,7 +27,7 @@ Check that your ephemeral port range `NEKO_WEBRTC_EPR` is correctly exposed as a
In the following example, the specified range `52000-52100` must also be exposed using Docker. You can't map it to a different range, e.g. `52000-52100:53000-53100/udp`. If you want to use a different range, you must change the range in `NEKO_WEBRTC_EPR` too.
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
@ -95,7 +95,7 @@ You should see this:
If your IP is not correct, you can specify your own IP resolver using `NEKO_WEBRTC_IP_RETRIEVAL_URL`. It needs to return the IP address that will be used.
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
@ -117,7 +117,7 @@ services:
Or you can specify your IP address manually using `NEKO_WEBRTC_NAT1TO1`:
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
@ -167,7 +167,7 @@ If you put a local IP as `NEKO_WEBRTC_NAT1TO1`, external clients try to connect
To see verbose information from the n.eko server, you can enable debug mode using `NEKO_DEBUG`.
```yaml title="docker-compose.yml"
```yaml title="docker-compose.yaml"
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"

View file

@ -1,7 +0,0 @@
---
sidebar_position: 6
---
# Updating & Upgrading
Best practices for keeping Neko updated and migrating between versions.