mirror of
https://github.com/m1k1o/neko.git
synced 2026-11-03 08:21:50 -06:00
Add example Docker Compose configurations for Neko (#684)
* Add example Docker Compose configurations for Neko - Introduced a simple browser example using Firefox in Docker with optional persistent profile configuration. - Added a TURN server example using Coturn alongside Neko for WebRTC support. - Updated installation documentation to include new examples and improved organization. - Enhanced Docusaurus configuration to support dynamic code imports for example files. - Updated package dependencies to include remark-code-import for better documentation handling. * feat: rename GPU-accelerated browser examples for Intel and Nvidia. * feat: update GPU browser examples and add OAuth configuration example * feat: add Raspberry Pi GPU browser example and update documentation links * feat: update GPU browser examples section for clarity and organization
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# Neko - Nvidia Browser Example
|
||||
#
|
||||
# Runs Firefox with full Nvidia GPU acceleration (both browser rendering and
|
||||
# video encoding) using CUDA. Requires the Nvidia Container Toolkit:
|
||||
# https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
|
||||
#
|
||||
# Check if your GPU supports hardware encoding:
|
||||
# https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
|
||||
#
|
||||
# Other GPU-accelerated flavors are listed here:
|
||||
# https://neko.m1k1o.net/docs/v3/installation/docker-images#nvidia
|
||||
services:
|
||||
neko:
|
||||
image: "ghcr.io/m1k1o/neko/nvidia-firefox:latest"
|
||||
# ENCODE-ONLY OPTION: if you only want to accelerate video encoding, not
|
||||
# the browser rendering, use the plain firefox image instead - see the
|
||||
# matching commented pipeline/env vars further down.
|
||||
# image: "ghcr.io/m1k1o/neko/firefox:latest"
|
||||
restart: "unless-stopped"
|
||||
shm_size: "2gb"
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "52000-52100:52000-52100/udp"
|
||||
environment:
|
||||
# ENCODE-ONLY OPTION: uncomment these two when using the plain firefox
|
||||
# image above, so the container can still see the GPU for encoding.
|
||||
# NVIDIA_VISIBLE_DEVICES: all
|
||||
# NVIDIA_DRIVER_CAPABILITIES: all
|
||||
|
||||
# `nvautogpuh264enc` (GStreamer 1.22+) is recommended for NVIDIA driver
|
||||
# 590+; it auto-selects CUDA or system memory. On older drivers or
|
||||
# GStreamer versions, use `nvh264enc` instead. If your GPU does not
|
||||
# support CUDA, drop `cudaupload`/`cudaconvert` below (see the
|
||||
# ENCODE-ONLY pipeline further down for that variant).
|
||||
NEKO_CAPTURE_VIDEO_PIPELINE: |
|
||||
ximagesrc display-name={display} show-pointer=true use-damage=false
|
||||
! video/x-raw,framerate=25/1
|
||||
! cudaupload ! cudaconvert ! queue
|
||||
! video/x-raw(memory:CUDAMemory),format=NV12
|
||||
! nvautogpuh264enc
|
||||
name=encoder
|
||||
preset=2
|
||||
gop-size=25
|
||||
spatial-aq=true
|
||||
temporal-aq=true
|
||||
bitrate=4096
|
||||
vbv-buffer-size=4096
|
||||
rc-mode=6
|
||||
! h264parse config-interval=-1
|
||||
! video/x-h264,stream-format=byte-stream
|
||||
! appsink name=appsink
|
||||
# ENCODE-ONLY OPTION: replace the active pipeline above with this one
|
||||
# when using the plain "firefox" image - it swaps cudaupload/cudaconvert
|
||||
# for a plain videoconvert, since the browser itself no longer needs CUDA:
|
||||
# NEKO_CAPTURE_VIDEO_PIPELINE: |
|
||||
# ximagesrc display-name={display} show-pointer=true use-damage=false
|
||||
# ! video/x-raw,framerate=25/1
|
||||
# ! videoconvert ! queue
|
||||
# ! video/x-raw,format=NV12
|
||||
# ! nvautogpuh264enc
|
||||
# name=encoder
|
||||
# preset=2
|
||||
# gop-size=25
|
||||
# spatial-aq=true
|
||||
# temporal-aq=true
|
||||
# bitrate=4096
|
||||
# vbv-buffer-size=4096
|
||||
# rc-mode=6
|
||||
# ! h264parse config-interval=-1
|
||||
# ! video/x-h264,stream-format=byte-stream
|
||||
# ! appsink name=appsink
|
||||
NEKO_CAPTURE_VIDEO_CODEC: "h264"
|
||||
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
|
||||
# See: https://neko.m1k1o.net/docs/v3/configuration/webrtc#nat1to1
|
||||
# NEKO_WEBRTC_NAT1TO1: <your-IP>
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
Reference in New Issue
Block a user