mirror of
https://github.com/m1k1o/neko.git
synced 2026-11-03 00:11:48 -06:00
feat: add Raspberry Pi GPU browser example and update documentation links
This commit is contained in:
+2
-2
@@ -8,10 +8,10 @@ These are the same examples shown in the [documentation](https://neko.m1k1o.net/
|
||||
| --- | --- |
|
||||
| [simple-browser](./simple-browser) | Firefox with commented options for persistent/custom profiles and other available browser images. |
|
||||
| [kiosk-browser](./kiosk-browser) | Firefox in kiosk mode that opens a fixed URL on startup (e.g. a streaming service or dashboard). Stateless by default. |
|
||||
| [oauth-browser](./oauth-browser) | Firefox authenticating members through an external OAuth 2.0 / OpenID Connect provider, configured via a mounted config.yaml. |
|
||||
| [oauth](./oauth) | Firefox authenticating members through an external OAuth 2.0 / OpenID Connect provider, configured via a mounted config.yaml. |
|
||||
| [gpu-nvidia-browser](./gpu-nvidia-browser) | Firefox with Nvidia GPU acceleration, with a commented "encode-only" option. |
|
||||
| [gpu-intel-browser](./gpu-intel-browser) | Firefox with Intel (VAAPI) GPU acceleration, with a commented "encode-only" option. |
|
||||
| [raspberry-pi-browser](./raspberry-pi-browser) | Firefox tuned for Raspberry Pi, with a commented hardware-encoding option. |
|
||||
| [gpu-raspberry-pi-browser](./gpu-raspberry-pi-browser) | Firefox tuned for Raspberry Pi, with a commented hardware-encoding option. |
|
||||
| [arm64-browser](./arm64-browser) | Firefox on generic ARM64 hosts, with links to DRM setup and GPU acceleration options. |
|
||||
| [turn-server](./turn-server) | A Coturn TURN server running alongside Neko for WebRTC NAT traversal. |
|
||||
|
||||
|
||||
@@ -30,4 +30,4 @@ services:
|
||||
# GPU ACCELERATION OPTION: if your ARM64 device exposes a V4L2 M2M
|
||||
# hardware encoder (common on SBCs like Raspberry Pi), reuse the same
|
||||
# pipeline as in the Raspberry Pi example:
|
||||
# https://github.com/m1k1o/neko/tree/main/examples/raspberry-pi-browser
|
||||
# https://github.com/m1k1o/neko/tree/main/examples/gpu-raspberry-pi-browser
|
||||
|
||||
@@ -35,6 +35,19 @@ Browse: [`examples/kiosk-browser`](https://github.com/m1k1o/neko/tree/main/examp
|
||||
|
||||
For some workflows, passing the target URL directly to Firefox is more reliable than using homepage policies, because session restore can otherwise override the start page. See also: [Supervisord Configuration](/docs/v3/customization#supervisord).
|
||||
|
||||
## ARM64 Browser {#arm64-browser}
|
||||
|
||||
Firefox on a generic ARM64 host (e.g. Apple M1/M2 under virtualization, AWS Graviton, Oracle Cloud ARM free tier). The same multi-arch image used on amd64 works here - no special image tag is required.
|
||||
|
||||
DRM (Widevine) support is limited on ARM64 and needs extra setup for protected streaming content, see [DRM for ARM64](/docs/v3/customization/browsers#arm64-drm). If your device exposes a V4L2 M2M hardware encoder, you can reuse the pipeline from the [Raspberry Pi Browser](#gpu-raspberry-pi-browser) example.
|
||||
|
||||
Browse: [`examples/arm64-browser`](https://github.com/m1k1o/neko/tree/main/examples/arm64-browser)
|
||||
|
||||
```yaml title="docker-compose.yaml" file=<rootDir>/examples/arm64-browser/docker-compose.yaml
|
||||
```
|
||||
|
||||
See supported architectures and per-app availability in the [Availability Matrix](/docs/v3/installation/docker-images#availability).
|
||||
|
||||
## Nvidia GPU Browser {#gpu-nvidia-browser}
|
||||
|
||||
Neko supports hardware acceleration using Nvidia GPUs. To use this feature, you need to have the Nvidia Container Toolkit installed on your system. You can find the installation instructions [here](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html). Check if your GPU supports hardware encoding with [this list](https://developer.nvidia.com/video-encode-decode-gpu-support-matrix).
|
||||
@@ -63,28 +76,15 @@ Browse: [`examples/gpu-intel-browser`](https://github.com/m1k1o/neko/tree/main/e
|
||||
|
||||
See available [Intel Docker Images](/docs/v3/installation/docker-images#intel).
|
||||
|
||||
## Raspberry Pi Browser {#raspberry-pi-browser}
|
||||
## Raspberry Pi GPU Browser {#gpu-raspberry-pi-browser}
|
||||
|
||||
Firefox tuned for a Raspberry Pi (or similar ARM SBC). Works out of the box with software rendering/encoding. See the commented "GPU ACCELERATION OPTION" in the example for enabling hardware-accelerated encoding via the Broadcom VideoCore V4L2 M2M encoder, available on Raspberry Pi 3/4 (not Pi 5).
|
||||
|
||||
Browse: [`examples/raspberry-pi-browser`](https://github.com/m1k1o/neko/tree/main/examples/raspberry-pi-browser)
|
||||
Browse: [`examples/gpu-raspberry-pi-browser`](https://github.com/m1k1o/neko/tree/main/examples/gpu-raspberry-pi-browser)
|
||||
|
||||
```yaml title="docker-compose.yaml" file=<rootDir>/examples/raspberry-pi-browser/docker-compose.yaml
|
||||
```yaml title="docker-compose.yaml" file=<rootDir>/examples/gpu-raspberry-pi-browser/docker-compose.yaml
|
||||
```
|
||||
|
||||
## ARM64 Browser {#arm64-browser}
|
||||
|
||||
Firefox on a generic ARM64 host (e.g. Apple M1/M2 under virtualization, AWS Graviton, Oracle Cloud ARM free tier). The same multi-arch image used on amd64 works here - no special image tag is required.
|
||||
|
||||
DRM (Widevine) support is limited on ARM64 and needs extra setup for protected streaming content, see [DRM for ARM64](/docs/v3/customization/browsers#arm64-drm). If your device exposes a V4L2 M2M hardware encoder, you can reuse the pipeline from the [Raspberry Pi Browser](#raspberry-pi-browser) example.
|
||||
|
||||
Browse: [`examples/arm64-browser`](https://github.com/m1k1o/neko/tree/main/examples/arm64-browser)
|
||||
|
||||
```yaml title="docker-compose.yaml" file=<rootDir>/examples/arm64-browser/docker-compose.yaml
|
||||
```
|
||||
|
||||
See supported architectures and per-app availability in the [Availability Matrix](/docs/v3/installation/docker-images#availability).
|
||||
|
||||
## OAuth {#oauth}
|
||||
|
||||
Authenticates members through an external OAuth 2.0 / OpenID Connect provider instead of the built-in multiuser passwords. OAuth has many settings, so this example sets them via a mounted `config.yaml` instead of environment variables.
|
||||
|
||||
Reference in New Issue
Block a user