mirror of
https://github.com/m1k1o/neko.git
synced 2026-11-03 00:11:48 -06:00
update docker compose.
This commit is contained in:
+12
-82
@@ -1,86 +1,16 @@
|
|||||||
networks:
|
|
||||||
neko_net:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
neko:
|
neko:
|
||||||
image: ghcr.io/m1k1o/neko/intel-firefox:latest
|
image: "ghcr.io/m1k1o/neko/firefox:latest"
|
||||||
container_name: neko
|
restart: "unless-stopped"
|
||||||
restart: unless-stopped
|
shm_size: "2gb"
|
||||||
shm_size: 4gb
|
|
||||||
cap_add:
|
|
||||||
- SYS_ADMIN
|
|
||||||
devices:
|
|
||||||
- /dev/dri:/dev/dri
|
|
||||||
networks:
|
|
||||||
- neko_net
|
|
||||||
ports:
|
ports:
|
||||||
- "80:8080" # Web interface
|
- "8080:8080"
|
||||||
- "52000-52100:52000-52100/udp" # WebRTC
|
- "52000-52100:52000-52100/udp"
|
||||||
environment:
|
environment:
|
||||||
TZ: "Europe/Berlin"
|
NEKO_DESKTOP_SCREEN: 1920x1080@30
|
||||||
NEKO_HWENC: "none"
|
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: neko
|
||||||
NEKO_SERVER_PROXY: "true"
|
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: admin
|
||||||
# ---- WebRTC ----
|
NEKO_WEBRTC_EPR: 52000-52100
|
||||||
NEKO_WEBRTC_NAT1TO1: 10.220.1.238
|
NEKO_WEBRTC_ICELITE: 1
|
||||||
NEKO_WEBRTC_EPR: "52000-52100"
|
# See: https://neko.m1k1o.net/docs/v3/configuration/webrtc#ip
|
||||||
NEKO_WEBRTC_ICELITE: "true"
|
# NEKO_NAT1TO1: <IP_ADDRESS>
|
||||||
# ---- Desktop ----
|
|
||||||
NEKO_DESKTOP_SCREEN: "1920x1080@30"
|
|
||||||
# ---- Auth ----
|
|
||||||
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: "changeMe"
|
|
||||||
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: "changeMe"
|
|
||||||
NEKO_SESSION_CONTROL_PROTECTION: "true"
|
|
||||||
# ---- Capture pipelines ----
|
|
||||||
NEKO_CAPTURE_VIDEO_CODEC: "h264"
|
|
||||||
NEKO_CAPTURE_BROADCAST_URL: "placeholder" # No need to chance this line, it's handled by NEKO_CAPTURE_BROADCAST_PIPELINE. It's only needed to be filled so it's possible to start the Broadcast
|
|
||||||
NEKO_CAPTURE_BROADCAST_AUTOSTART: "false"
|
|
||||||
NEKO_CAPTURE_BROADCAST_PIPELINE: >
|
|
||||||
ximagesrc display-name={display} show-pointer=true use-damage=false !
|
|
||||||
queue !
|
|
||||||
videoconvert ! videorate ! videoscale !
|
|
||||||
video/x-raw,width=1920,height=1080,framerate=25/1 !
|
|
||||||
x264enc speed-preset=ultrafast tune=zerolatency !
|
|
||||||
h264parse !
|
|
||||||
queue !
|
|
||||||
mux.video
|
|
||||||
|
|
||||||
pulsesrc device=audio_output.monitor !
|
|
||||||
queue !
|
|
||||||
audioconvert ! audioresample !
|
|
||||||
audio/x-raw,channels=2 !
|
|
||||||
voaacenc bitrate=320000 !
|
|
||||||
aacparse !
|
|
||||||
queue !
|
|
||||||
mux.audio
|
|
||||||
|
|
||||||
hlssink2
|
|
||||||
name=mux
|
|
||||||
max-files=5
|
|
||||||
playlist-length=5
|
|
||||||
target-duration=1
|
|
||||||
location=/var/www/live/segment-%d.ts
|
|
||||||
playlist-location=/var/www/live/index.m3u8
|
|
||||||
|
|
||||||
mediamtx:
|
|
||||||
image: bluenviron/mediamtx:latest-ffmpeg
|
|
||||||
container_name: mediamtx
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- neko_net
|
|
||||||
ports:
|
|
||||||
- "8554:8554" # RTSP output e.g. rtsp://server-ip:8555/live (RTSP playback doesn't work for Standalone Headsets, only for PC)
|
|
||||||
- "8888:8888" # HLS output e.g. http://server-ip:8889/live/index.m3u8, https://domain.tld/live/index.m3u8
|
|
||||||
environment:
|
|
||||||
MEDIAMTX_RTSPTRANSPORTS: "tcp"
|
|
||||||
# Audio encoder (force stereo)
|
|
||||||
MTX_PATHS_LIVE_HLS_AUDIO_ENCODER: "aac"
|
|
||||||
MTX_PATHS_LIVE_HLS_AUDIO_ENCODER_ARGS: "audio_bitrate=320k,channels=2"
|
|
||||||
# ---- Optimized STANDARD HLS (NOT LL-HLS) ----
|
|
||||||
MTX_HLSMODE: "muxer"
|
|
||||||
MTX_HLSVARIANT: "mpegts"
|
|
||||||
MTX_HLSALWAYSREMUX: "yes"
|
|
||||||
MTX_HLSSEGMENTDURATION: "1s" # 1 second segments
|
|
||||||
MTX_HLSSEGMENTCOUNT: "4" # ~4s real latency
|
|
||||||
# ---- Neko Broadcast Source ----
|
|
||||||
MTX_PATHS_LIVE_SOURCE: "udp://mediamtx:1234?pkt_size=1316"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user