mirror of
https://github.com/m1k1o/neko.git
synced 2025-07-24 12:08:08 +02:00
update docs.
This commit is contained in:
parent
6f3760e5b9
commit
e3cdad3f81
41 changed files with 213 additions and 198 deletions
94
webpage/docs/getting-started/installation/README.md
Normal file
94
webpage/docs/getting-started/installation/README.md
Normal file
|
@ -0,0 +1,94 @@
|
|||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||
The preferred way to install Neko is to use Docker. This method is easy to set up and manage, it contains all the necessary dependencies, and it is isolated from the host system. Other installation methods are out of scope for this documentation.
|
||||
|
||||
## Docker Run
|
||||
|
||||
To start a basic Neko container, use the following command:
|
||||
|
||||
```sh
|
||||
docker run -d --rm \
|
||||
-p 8080:8080 \
|
||||
-p 56000-56100:56000-56100/udp \
|
||||
-e NEKO_WEBRTC_EPR=56000-56100 \
|
||||
-e NEKO_WEBRTC_NAT1TO1=127.0.0.1 \
|
||||
-e NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko \
|
||||
-e NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin \
|
||||
ghcr.io/m1k1o/neko/firefox:latest
|
||||
```
|
||||
|
||||
### Explanation
|
||||
|
||||
- `-d --rm` - Run the container in the background and automatically remove the container when it exits.
|
||||
- `-p 8080:8080` - Map the container's port `8080` to the host's port `8080`.
|
||||
- `-p 56000-56100:56000-56100/udp` - Map the container's UDP ports `56000-56100` to the host's ports `56000-56100`.
|
||||
- `-e NEKO_WEBRTC_EPR=56000-56100` - Set the WebRTC endpoint range, this value must match the mapped ports above.
|
||||
- See [WebRTC Ephemeral Port Range](/docs/v3/reference/configuration/webrtc#ephemeral-udp-port-range) for more information about this setting.
|
||||
- There is an alternative to use only a single port, see [WebRTC UDP/TCP multiplexing](/docs/v3/reference/configuration/webrtc#udp-tcp-multiplexing).
|
||||
- `-e NEKO_WEBRTC_NAT1TO1=127.0.0.1` - Set the address where the WebRTC client should connect to.
|
||||
- To test only on the local computer, use `127.0.0.1`.
|
||||
- To use it in a private network, use the host's IP address (e.g., `192.168.1.5`).
|
||||
- To use it in a public network, you need to correctly set up port forwarding on your router and remove this env variable.
|
||||
- See [WebRTC Server IP Address](/docs/v3/reference/configuration/webrtc#server-ip-address) for more information about this setting.
|
||||
- `-e NEKO_MEMBER_MULTIUSER_USER_PASSWORD=neko` - Set the password for the user account.
|
||||
- `-e NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=admin` - Set the password for the admin account.
|
||||
- See [Multiuser Configuration](/docs/v3/reference/configuration/authentication#multi-user-provider) for more information about this setting.
|
||||
- There are other authentication providers available, see [Authentication Providers](/docs/v3/reference/configuration/authentication#member-providers).
|
||||
- `ghcr.io/m1k1o/neko/firefox:latest` - The Docker image to use.
|
||||
- See available [Docker Images](/docs/v3/getting-started/installation/docker-images).
|
||||
|
||||
Now, open your browser and go to: `http://localhost:8080`. You should see the Neko interface.
|
||||
|
||||
### Further Configuration
|
||||
|
||||
You can configure Neko by setting environment variables or configuration file. See the [Configuration Reference](/docs/v3/reference/configuration) for more information.
|
||||
|
||||
## Docker Compose
|
||||
|
||||
You can also use Docker Compose to run Neko. It is preferred to use Docker Compose for running Neko in production because you can easily manage the container, update it, and configure it.
|
||||
|
||||
Create a `docker-compose.yml` file with the following content:
|
||||
|
||||
```yaml title="docker-compose.yaml"
|
||||
services:
|
||||
neko:
|
||||
image: ghcr.io/m1k1o/neko/firefox:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "56000-56100:56000-56100/udp"
|
||||
environment:
|
||||
NEKO_WEBRTC_EPR: "56000-56100"
|
||||
NEKO_WEBRTC_NAT1TO1: "127.0.0.1"
|
||||
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: "neko"
|
||||
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: "admin"
|
||||
```
|
||||
|
||||
Then, run the following command:
|
||||
|
||||
```sh
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
To stop Neko, run:
|
||||
|
||||
```sh
|
||||
docker compose down
|
||||
```
|
||||
|
||||
To update Neko, run:
|
||||
|
||||
```sh
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Learn more about [how compose works](https://docs.docker.com/compose/intro/compose-application-model/).
|
||||
|
||||
:::note
|
||||
You need to be in the same directory as the `docker-compose.yml` file to run the `docker compose` commands.
|
||||
:::
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"position": 3,
|
||||
"label": "Installation",
|
||||
"collapsed": false
|
||||
}
|
223
webpage/docs/getting-started/installation/docker-images.md
Normal file
223
webpage/docs/getting-started/installation/docker-images.md
Normal file
|
@ -0,0 +1,223 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Docker Images
|
||||
|
||||
Neko as a standalone streaming server is available as a Docker image. But that is rarely interesting for general use. The real power of Neko is in its ability to accommodate custom applications in the virtual desktop environment. This is where the various flavors of Neko Docker images come in.
|
||||
|
||||
The base image is available at [`ghcr.io/m1k1o/neko/base`](https://ghcr.io/m1k1o/neko/base).
|
||||
|
||||
## Naming Convention
|
||||
|
||||
Neko Docker images are available on [GitHub Container Registry (GHCR)](https://github.com/m1k1o?tab=packages&repo_name=neko). The naming convention for Neko Docker images is as follows:
|
||||
|
||||
```
|
||||
ghcr.io/m1k1o/neko/[<flavor>-]<application>:<version>
|
||||
```
|
||||
|
||||
- `<flavor>` is the optional flavor of the image, see [Available Flavors](#available-flavors) for more information.
|
||||
- `<application>` is the application name or base image, see [Available Applications](#available-applications) for more information.
|
||||
- `<version>` is the [semantic version](https://semver.org/) of the image from the [GitHub tags](https://github.com/m1k1o/neko/tags). There is always a `latest` tag available.
|
||||
|
||||
An alternative registry is also available on [Docker Hub](https://hub.docker.com/r/m1k1o/neko), however, only images without flavor and with the latest version are available there.
|
||||
|
||||
```
|
||||
m1k1o/neko:<application>
|
||||
```
|
||||
|
||||
:::info
|
||||
You should always prefer the GHCR registry with the ability to use flavors and specific versions.
|
||||
:::
|
||||
|
||||
## Available Applications
|
||||
|
||||
The following applications are available as Neko Docker images:
|
||||
|
||||
### Firefox-based browsers
|
||||
|
||||
In comparison to Chromium-based browsers, Firefox-based browsers do not require additional capabilities or a bigger shared memory size to not crash.
|
||||
|
||||
| Icon | Name | Docker Image |
|
||||
| ---- | ---- | ------------ |
|
||||
| <img src="/img/icons/firefox.svg" width="60" height="60" /> | [Firefox](https://www.mozilla.org/firefox/) <br /> The open-source browser from Mozilla. | [`ghcr.io/m1k1o/neko/firefox`](https://ghcr.io/m1k1o/neko/firefox) |
|
||||
| <img src="/img/icons/tor-browser.svg" width="60" height="60" /> | [Tor Browser](https://www.torproject.org/) <br /> A browser designed to access the Tor network for enhanced privacy. | [`ghcr.io/m1k1o/neko/tor-browser`](https://ghcr.io/m1k1o/neko/tor-browser) |
|
||||
| <img src="/img/icons/waterfox.svg" width="60" height="60" /> | [Waterfox](https://www.waterfox.net/) <br /> A privacy-focused browser based on Firefox. | [`ghcr.io/m1k1o/neko/waterfox`](https://ghcr.io/m1k1o/neko/waterfox) |
|
||||
|
||||
### Chromium-based browsers
|
||||
|
||||
There are multiple flavors of Chromium-based browsers available as Neko Docker images.
|
||||
|
||||
They need `--cap-add=SYS_ADMIN` (see [security implications](https://www.redhat.com/en/blog/container-tidbits-adding-capabilities-container) for more information) and extended shared memory size (`--shm-size=2g`) to work properly.
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="docker-run" label="Docker run command">
|
||||
|
||||
```bash
|
||||
docker run \
|
||||
--cap-add=SYS_ADMIN \
|
||||
--shm-size=2g \
|
||||
ghcr.io/m1k1o/neko/chromium
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="docker-compose" label="Docker Compose configuration">
|
||||
|
||||
```yaml title="docker-compose.yaml"
|
||||
cap_add:
|
||||
- SYS_ADMIN
|
||||
shm_size: 2g
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
| Icon | Name | Docker Image |
|
||||
| ---- | ---- | ------------ |
|
||||
| <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/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) |
|
||||
| <img src="/img/icons/opera.svg" width="60" height="60" /> | [Opera](https://www.opera.com/)* <br /> A fast and secure browser. | [`ghcr.io/m1k1o/neko/opera`](https://ghcr.io/m1k1o/neko/opera) |
|
||||
|
||||
\* requires extra steps to enable DRM, see instructions [here](https://www.reddit.com/r/operabrowser/wiki/opera/linux_widevine_config/). `libffmpeg` is already configured.
|
||||
|
||||
### Desktop Environments
|
||||
|
||||
These images feature a full desktop environment where you can install and run multiple applications, use window management, and more. This is useful for people who want to run multiple applications in a single container.
|
||||
|
||||
| Icon | Name | Docker Image |
|
||||
| ---- | ---- | ------------ |
|
||||
| <img src="/img/icons/xfce.svg" width="60" height="60" /> | [Xfce](https://xfce.org/) <br /> A lightweight desktop environment. | [`ghcr.io/m1k1o/neko/xfce`](https://ghcr.io/m1k1o/neko/xfce) |
|
||||
| <img src="/img/icons/kde.svg" width="60" height="60" /> | [KDE Plasma](https://kde.org/plasma-desktop) <br /> A feature-rich desktop environment. | [`ghcr.io/m1k1o/neko/kde`](https://ghcr.io/m1k1o/neko/kde) |
|
||||
|
||||
### Other Applications
|
||||
|
||||
As it would be impossible to include all possible applications in the repository, a couple of the most popular ones that work well with Neko have been chosen. Custom images can be created by using the base image and installing the desired application.
|
||||
|
||||
| Icon | Name | Docker Image |
|
||||
| ---- | ---- | ------------ |
|
||||
| <img src="/img/icons/remmina.svg" width="60" height="60" /> | [Remmina](https://remmina.org/) <br /> A remote desktop client. | [`ghcr.io/m1k1o/neko/remmina`](https://ghcr.io/m1k1o/neko/remmina) |
|
||||
| <img src="/img/icons/vlc.svg" width="60" height="60" /> | [VLC](https://www.videolan.org/vlc/) <br /> A media player. | [`ghcr.io/m1k1o/neko/vlc`](https://ghcr.io/m1k1o/neko/vlc) |
|
||||
|
||||
#### Remmina Configuration
|
||||
|
||||
To use Remmina with Neko, you can either pass the `REMMINA_URL=<proto>://[<username>[:<password>]@]server[:port]` environment variable (proto being `vnc`, `rdp` or `spice`):
|
||||
|
||||
```bash
|
||||
docker run \
|
||||
-e REMMINA_URL=vnc://server:5900 \
|
||||
ghcr.io/m1k1o/neko/remmina
|
||||
```
|
||||
|
||||
Or bind-mount a custom configuration file to `~/.local/share/remmina/path_to_profile.remmina`. Then pass the `REMMINA_PROFILE=<path_to_profile.remmina>` environment variable:
|
||||
|
||||
```ini title="default.remmina"
|
||||
[remmina]
|
||||
name=Default
|
||||
protocol=VNC
|
||||
server=server.local
|
||||
port=5900
|
||||
```
|
||||
|
||||
```bash
|
||||
docker run \
|
||||
-v /path/to/default.remmina:/root/.local/share/remmina/default.remmina \
|
||||
-e REMMINA_PROFILE=/root/.local/share/remmina/default.remmina \
|
||||
ghcr.io/m1k1o/neko/remmina
|
||||
```
|
||||
|
||||
#### VLC Configuration
|
||||
|
||||
To use VLC with Neko, you can either pass the `VLC_MEDIA=<url>` environment variable:
|
||||
|
||||
```bash
|
||||
docker run \
|
||||
-e VLC_MEDIA=http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 \
|
||||
ghcr.io/m1k1o/neko/vlc
|
||||
```
|
||||
|
||||
You can also bind-mount your local media files to the container, create a custom playlist, and pass the `VLC_MEDIA=<path_to_playlist>` environment variable:
|
||||
|
||||
```bash
|
||||
docker run \
|
||||
-v /path/to/media:/media \
|
||||
-e VLC_MEDIA=/media/playlist.xspf \
|
||||
ghcr.io/m1k1o/neko/vlc
|
||||
```
|
||||
|
||||
:::tip
|
||||
See [neko-apps](https://github.com/m1k1o/neko-apps) repository for more applications.
|
||||
:::
|
||||
|
||||
## Available Flavors
|
||||
|
||||
:::danger Keep in Mind
|
||||
Currently the focus is on AMD64 & CPU image (wihout any flavor). So the flavor images might not work as expected.
|
||||
:::
|
||||
|
||||
|
||||
The following flavors are available for Neko Docker images:
|
||||
|
||||
- `arm` - ARM64 and ARMv7 architecture support.
|
||||
- `nvidia` - NVIDIA GPU support.
|
||||
- `intel` - Intel GPU support.
|
||||
|
||||
:::note
|
||||
Not all flavors are available for all applications. Since not all applications support ARM architecture or GPU acceleration, the flavors are only available where they make sense.
|
||||
:::
|
||||
|
||||
### ARM
|
||||
|
||||
For ARM-based images (like Raspberry Pi - with GPU hardware acceleration, [Oracle Cloud ARM free tier](https://www.oracle.com/cloud/free/)). Currently, not all images are available for ARM, because not all applications are available for ARM. Please use the images below:
|
||||
|
||||
- [`ghcr.io/m1k1o/neko/arm-firefox`](https://ghcr.io/m1k1o/neko/arm-firefox)
|
||||
- [`ghcr.io/m1k1o/neko/arm-chromium`](https://ghcr.io/m1k1o/neko/arm-chromium)
|
||||
- [`ghcr.io/m1k1o/neko/arm-ungoogled-chromium`](https://ghcr.io/m1k1o/neko/arm-ungoogled-chromium)
|
||||
- [`ghcr.io/m1k1o/neko/arm-vlc`](https://ghcr.io/m1k1o/neko/arm-vlc)
|
||||
- [`ghcr.io/m1k1o/neko/arm-xfce`](https://ghcr.io/m1k1o/neko/arm-xfce)
|
||||
|
||||
The base image is available at [`ghcr.io/m1k1o/neko/arm-base`](https://ghcr.io/m1k1o/neko/arm-base).
|
||||
|
||||
### Intel
|
||||
|
||||
For images with VAAPI GPU hardware acceleration using Intel drivers use:
|
||||
|
||||
- [`ghcr.io/m1k1o/neko/intel-firefox`](https://ghcr.io/m1k1o/neko/intel-firefox)
|
||||
- [`ghcr.io/m1k1o/neko/intel-chromium`](https://ghcr.io/m1k1o/neko/intel-chromium)
|
||||
- [`ghcr.io/m1k1o/neko/intel-google-chrome`](https://ghcr.io/m1k1o/neko/intel-google-chrome)
|
||||
- [`ghcr.io/m1k1o/neko/intel-ungoogled-chromium`](https://ghcr.io/m1k1o/neko/intel-ungoogled-chromium)
|
||||
- [`ghcr.io/m1k1o/neko/intel-microsoft-edge`](https://ghcr.io/m1k1o/neko/intel-microsoft-edge)
|
||||
- [`ghcr.io/m1k1o/neko/intel-brave`](https://ghcr.io/m1k1o/neko/intel-brave)
|
||||
- [`ghcr.io/m1k1o/neko/intel-vivaldi`](https://ghcr.io/m1k1o/neko/intel-vivaldi)
|
||||
- [`ghcr.io/m1k1o/neko/intel-opera`](https://ghcr.io/m1k1o/neko/intel-opera)
|
||||
- [`ghcr.io/m1k1o/neko/intel-tor-browser`](https://ghcr.io/m1k1o/neko/intel-tor-browser)
|
||||
- [`ghcr.io/m1k1o/neko/intel-remmina`](https://ghcr.io/m1k1o/neko/intel-remmina)
|
||||
- [`ghcr.io/m1k1o/neko/intel-vlc`](https://ghcr.io/m1k1o/neko/intel-vlc)
|
||||
- [`ghcr.io/m1k1o/neko/intel-xfce`](https://ghcr.io/m1k1o/neko/intel-xfce)
|
||||
- [`ghcr.io/m1k1o/neko/intel-kde`](https://ghcr.io/m1k1o/neko/intel-kde)
|
||||
|
||||
The base image is available at [`ghcr.io/m1k1o/neko/intel-base`](https://ghcr.io/m1k1o/neko/intel-base).
|
||||
|
||||
### Nvidia
|
||||
|
||||
For images with Nvidia GPU hardware acceleration using EGL use:
|
||||
|
||||
- [`ghcr.io/m1k1o/neko/nvidia-firefox`](https://ghcr.io/m1k1o/neko/nvidia-firefox)
|
||||
- [`ghcr.io/m1k1o/neko/nvidia-chromium`](https://ghcr.io/m1k1o/neko/nvidia-chromium)
|
||||
- [`ghcr.io/m1k1o/neko/nvidia-google-chrome`](https://ghcr.io/m1k1o/neko/nvidia-google-chrome)
|
||||
- [`ghcr.io/m1k1o/neko/nvidia-microsoft-edge`](https://ghcr.io/m1k1o/neko/nvidia-microsoft-edge)
|
||||
- [`ghcr.io/m1k1o/neko/nvidia-brave`](https://ghcr.io/m1k1o/neko/nvidia-brave)
|
||||
|
||||
The base image is available at [`ghcr.io/m1k1o/neko/nvidia-base`](https://ghcr.io/m1k1o/neko/nvidia-base).
|
||||
|
||||
:::danger
|
||||
There is a known issue with EGL and Chromium-based browsers, see [m1k1o/neko #279](https://github.com/m1k1o/neko/issues/279).
|
||||
:::
|
||||
|
121
webpage/docs/getting-started/installation/examples.md
Normal file
121
webpage/docs/getting-started/installation/examples.md
Normal file
|
@ -0,0 +1,121 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# 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
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue