Path: blob/master/webpage/versioned_docs/version-v2/configuration.md
1461 views
------Configuration
Config values can be set using three methods, sorted on this page by priority.
Example, setting nat1to1 variable:
As env variable:
NEKO_NAT1TO1=<ip>As argument:
--nat1to1=<ip>In YAML config file:
Environment variables
NEKO_SCREEN:
Resolution after startup. Only Admins can change this later.
e.g.
1920x1080@30
NEKO_PASSWORD:
Password for the user login.
e.g.
user_password
NEKO_PASSWORD_ADMIN:
Password for the admin login.
e.g.
admin_password
NEKO_CONTROL_PROTECTION:
Control protection means, users can gain control only if at least one admin is in the room.
e.g.
false
NEKO_IMPLICIT_CONTROL:
If enabled members can gain control implicitly, they don't need to request control.
e.g.
false
NEKO_LOCKS:
Resources, that will be locked when starting, separated by whitespace.
Currently supported:
controlloginfile_transfer
e.g.
control
WebRTC
NEKO_EPR:
For WebRTC needed range of UDP ports.
e.g.
52000-52099
NEKO_UDPMUX:
Alternative to epr with only one UDP port.
e.g.
52100
NEKO_TCPMUX:
Use TCP connection, meant as fallback for UDP.
e.g.
52100
NEKO_NAT1TO1:
IP of the server that will be sent to client, if not specified, public IP is automatically resolved.
e.g.
10.0.0.1
NEKO_IPFETCH:
Automatically fetch IP address from given URL when
nat1to1is not specified.e.g.
http://checkip.amazonaws.com
NEKO_ICELITE:
Use the ice lite protocol.
e.g.
false
NEKO_ICESERVER:
Describes a single STUN and TURN server that can be used by the ICEAgent to establish a connection with a peer (simple usage for server without authentication).
e.g.
stun:stun.l.google.com:19302
NEKO_ICESERVERS:
Describes multiple STUN and TURN server that can be used by the ICEAgent to establish a connection with a peer.
e.g.
[{"urls": ["turn:turn.example.com:19302", "stun:stun.example.com:19302"], "username": "name", "credential": "password"}, {"urls": ["stun:stun.example2.com:19302"]}]
Video
NEKO_VIDEO_CODEC:
vp8 (default encoder)
vp9 (parameter not optimized yet)
h264 (second best option)
NEKO_VIDEO_BITRATE:
Bitrate of the video stream in kb/s.
e.g. 3500
NEKO_VIDEO:
Makes it possible to create custom gstreamer video pipeline. With this you could find the best quality for your CPU.
Installed are
gstreamer1.0-plugins-basegstreamer1.0-plugins-goodgstreamer1.0-plugins-badgstreamer1.0-plugins-ugly
e.g.
ximagesrc display-name=%s show-pointer=true use-damage=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! video/x-raw,format=NV12 ! x264enc threads=4 bitrate=3500 key-int-max=60 vbv-buf-capacity=4000 byte-stream=true tune=zerolatency speed-preset=veryfast ! video/x-h264,stream-format=byte-stream,profile=constrained-baseline
NEKO_MAX_FPS:
The resulting stream frames per seconds should be capped (0 for uncapped).
e.g.
0
NEKO_HWENC:
none (default CPU encoding)
vaapi
nvenc
Audio
NEKO_AUDIO_CODEC:
opus (default encoder)
g722
pcmu
pcma
NEKO_AUDIO_BITRATE:
Bitrate of the audio stream in kb/s.
e.g.
196
NEKO_AUDIO:
Makes it possible to create custom gstreamer audio pipeline, same as for video. e.g.
pulsesrc device=%s ! audio/x-raw,channels=2 ! audioconvert ! opusenc bitrate=128000
Broadcast
NEKO_BROADCAST_PIPELINE:
Makes it possible to create custom gstreamer pipeline used for broadcasting, strings
{url},{device}and{display}will be replaced.
NEKO_BROADCAST_URL:
Set a default URL for broadcast streams. It can be disabled/changed later by admins in the GUI.
e.g.
rtmp://<your-server>:1935/ingest/<stream-key>
NEKO_BROADCAST_AUTOSTART:
Automatically start broadcasting when neko starts and broadcast_url is set.
e.g.
true
Server
NEKO_BIND:
Address/port/socket where neko binds to (default 127.0.0.1:8080).
e.g.
:8080
NEKO_CERT:
Path to the SSL-Certificate.
e.g.
/certs/cert.pem
NEKO_KEY:
Path to the SSL-Certificate private key.
e.g.
/certs/key.pem
NEKO_PROXY:
Enable reverse proxy mode, so that neko trusts
X-Forwarded-Forheaders.e.g.
false
NEKO_PATH_PREFIX:
Path prefix for HTTP requests.
e.g.
/neko/
NEKO_CORS:
Cross origin request sharing, whitespace separated list of allowed hosts,
*for all.e.g.
127.0.0.1 neko.example.com
File Transfer
NEKO_FILE_TRANSFER_ENABLED:
Enable file transfer feature.
e.g.
true
NEKO_FILE_TRANSFER_PATH:
Path where files will be transferred between the host and users. By default, this is
/home/neko/Downloads. If the path doesn't exist, it will be created.e.g.
/home/neko/Desktop
Expert settings
NEKO_DISPLAY:
XDisplay to capture.
NEKO_DEVICE:
Audio device be to captured.
NEKO_STATIC:
Path to neko client files to serve.
Arguments
You can execute neko serve --help to see available arguments.
Config file
You can mount YAML config file to docker container on this path /etc/neko/neko.yaml and store your configuration there.
Config uses the keys from arguments, that can be viewed in program's help output.
Example (with just some of the available arguments):