mirror of
https://github.com/m1k1o/neko.git
synced 2025-04-28 09:56:20 +02:00
update docs and add examples + ungoogled chromium svg.
This commit is contained in:
parent
d1a2717ec1
commit
2dd5585b49
10 changed files with 179 additions and 23 deletions
|
@ -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"
|
||||
|
|
|
@ -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:
|
||||
...
|
||||
|
|
|
@ -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) |
|
||||
|
|
|
@ -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
|
||||
|
|
121
webpage/docs/getting-started/examples.md
Normal file
121
webpage/docs/getting-started/examples.md
Normal 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
|
||||
```
|
|
@ -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"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# Updating & Upgrading
|
||||
|
||||
Best practices for keeping Neko updated and migrating between versions.
|
42
webpage/static/img/icons/ungoogled-chromium.svg
Normal file
42
webpage/static/img/icons/ungoogled-chromium.svg
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="500"
|
||||
height="500"
|
||||
viewBox="0 0 500 500"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
style="fill:url(#linearGradient40);stroke:none;fill-opacity:1"
|
||||
d="M 374.9901,33.513004 125.00964,466.49187 A 249.98,249.98 0 0 0 466.48762,374.9917 249.98,249.98 0 0 0 374.9901,33.513004 Z" />
|
||||
<path
|
||||
style="fill:url(#linearGradient36);stroke:none;fill-opacity:1"
|
||||
d="M 374.98841,33.512029 A 249.98,249.98 0 0 0 33.510434,125.0122 a 249.98,249.98 0 0 0 91.497516,341.4787 249.98,249.98 0 0 0 0.0348,0.0178 L 375.02224,33.531559 a 249.98,249.98 0 0 0 -0.0338,-0.01953 z" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 364.271,472.415 c 7.135,-3.673 14.07,-7.679 20.786,-11.998 L 135.743,27.6081 c -7.134,3.6761 -14.067,7.6856 -20.781,12.0078 z"
|
||||
fill="#ffffff"
|
||||
transform="matrix(-1,0,0,1,500.019,0)" />
|
||||
<path
|
||||
d="m 124.998,250.002 c 0,69.035 55.966,125.001 125.001,125.001 69.036,0 125.002,-55.966 125.002,-125.001 0,-69.035 -55.966,-125.001 -125.002,-125.001 -69.035,0 -125.001,55.966 -125.001,125.001 z"
|
||||
fill="#ffffff" />
|
||||
<path
|
||||
d="m 148.435,250.002 c 0,56.091 45.473,101.563 101.564,101.563 56.092,0 101.564,-45.472 101.564,-101.563 0,-56.091 -45.472,-101.564 -101.564,-101.564 -56.091,0 -101.564,45.473 -101.564,101.564"
|
||||
fill="url(#linearGradient30)" />
|
||||
<defs>
|
||||
<linearGradient id="linearGradient40" x1="135.748" y1="472.41501" x2="385.04446" y2="39.638107" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#ff0000" />
|
||||
<stop offset="1" stop-color="#ff6666" />
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient36" x1="364.24796" y1="27.656727" x2="114.962" y2="460.41699" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#800000" />
|
||||
<stop offset="1" stop-color="#330000" />
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient30" x1="148.435" y1="351.565" x2="351.56503" y2="148.43497" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#bf0000" offset="0.5" />
|
||||
<stop stop-color="#ff0000" offset="1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -8,7 +8,7 @@ sidebar_position: 7
|
|||
|
||||
To see verbose information from n.eko server, you can enable debug mode using `NEKO_DEBUG`.
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
```yaml title="docker-compose.yaml"
|
||||
version: "3.4"
|
||||
services:
|
||||
neko:
|
||||
|
@ -38,7 +38,7 @@ There exists an extension [Google Input Tools](https://chrome.google.com/webstor
|
|||
|
||||
Check if you did not forget to add cap_add to your docker-compose file.
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
```yaml title="docker-compose.yaml"
|
||||
version: "3.4"
|
||||
services:
|
||||
neko:
|
||||
|
|
|
@ -27,7 +27,7 @@ Check that your ephemeral port range `NEKO_EPR` is correctly exposed as `/udp` p
|
|||
|
||||
In following example, specified range `52000-52100` must be also exposed using docker.
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
```yaml title="docker-compose.yaml"
|
||||
version: "3.4"
|
||||
services:
|
||||
neko:
|
||||
|
@ -95,7 +95,7 @@ You should see this:
|
|||
|
||||
If your IP is not correct, you can specify own IP resolver using `NEKO_IPFETCH`. It needs to return IP address that will be used.
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
```yaml title="docker-compose.yaml"
|
||||
version: "3.4"
|
||||
services:
|
||||
neko:
|
||||
|
@ -118,7 +118,7 @@ services:
|
|||
|
||||
Or you can specify your IP address manually using `NEKO_NAT1TO1`: (It's read as NAT 1 to 1, so it's capital letter 'O', not zero '0', in NAT1`TO`1)
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
```yaml title="docker-compose.yaml"
|
||||
version: "3.4"
|
||||
services:
|
||||
neko:
|
||||
|
@ -165,7 +165,7 @@ If you put local ip as `NEKO_NAT1TO1`, external clients try to connect to that i
|
|||
|
||||
To see verbose information from n.eko server, you can enable debug mode using `NEKO_DEBUG`.
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
```yaml title="docker-compose.yaml"
|
||||
version: "3.4"
|
||||
services:
|
||||
neko:
|
||||
|
|
Loading…
Add table
Reference in a new issue