## Example Ghostream configuration ## # Uncomment and edit to change values # # All settings can also be changed with an environnement variable, # e.g. GHOSTREAM_AUTH_BACKEND=ldap will change auth.backend to "ldap" # # You may also use GHOSTREAM_CONFIG environnement variable to change the # loading path of the configuration. ## Authentification package ## auth: # If you disable authentification no more check will be done on incoming # streams. # #enabled: true # Authentification backend, # can be "basic" to use a list of user:password # can be "ldap" to use a LDAP server # #backend: basic # Basic backend configuration # To generate bcrypt hashed password from Python, use: # python3 -c 'import bcrypt; print(bcrypt.hashpw(b"PASSWORD", bcrypt.gensalt(rounds=15)).decode("ascii"))' # # Please replace "." by "_" in keys. # #basic: # credentials: # # Demo user with password "demo" # demo: $2b$15$LRnG3eIHFlYIguTxZOLH7eHwbQC/vqjnLq6nDFiHSUDKIU.f5/1H6 # LDAP backend configuration # #ldap: # uri: ldap://127.0.0.1:389 # userdn: cn=users,dc=example,dc=com ## Stream forwarding ## # Forward an incoming stream to other servers # The URL can be anything FFMpeg can accept as an stream output forwarding: # By default nothing is forwarded. # # This example forwards a stream named "demo" to Twitch and YouTube, #demo: # - rtmp://live-cdg.twitch.tv/app/STREAM_KEY # - rtmp://a.rtmp.youtube.com/live2/STREAM_KEY ## Prometheus monitoring ## # Expose a monitoring endpoint for Prometheus monitoring: # If you disable monitoring module, no more metrics will be exposed. # #enabled: true # You should not expose monitoring metrics to the whole world. # To limit access to only localhost, use 127.0.0.1:2112 #listenAddress: :2112 ## SRT server ## # The SRT server receive incoming stream and can also serve video to clients. srt: # If you disable SRT module, it will be no more possible to receive incoming # streams and this whole app will become useless. # #enabled: true # To limit access to only localhost, use 127.0.0.1:9710 #listenAddress: :9710 # Max number of active SRT connections #maxClients: 64 ## Web server ## # The web server serves a WebRTC player. web: # If you disable web module, the stream will be accessible only via SRT or # via forwarding module (see above). # #enabled: true # Custom CSS stylesheet to change theme # #customCss: "" # Web page favicon, can be .ico, .png or .svg # #favicon: /static/img/favicon.svg # Server name seen by users # If example.com reverses to this server, then change to example.com # #hostname: localhost # To limit access to only localhost, use 127.0.0.1:8080 # #listenAddress: :8080 # Web site name # Put something cool here, such as "Cr@ns Stream" # #name: Ghostream # Use the domain name as the stream name # e.g., on http://example.com:8080/ the stream served will be "example.com" # This implies that your domain will be able to serve only one stream. # #oneStreamPerDomain: false # Stream player poster # Shown when stream is loading or inactive. # #playerPoster: /static/img/no_stream.svg # Refresh period for viewer stats (below the player) # #viewersCounterRefreshPeriod: 20000 # Add a web page as a side widget # This can be a public TheLounge or Element instance to make a chat. # You can use {{.Path}} to include current stream name, # e.g. https://example.com/stream_{{.Path}} # #widgetURL: "" ## WebRTC server ## webrtc: # If you disable webrtc module, the web client won't be able to play streams. # #enabled: true # UDP port range used to stream # This range must be opened in your firewall. # #minPortUDP: 10000 #maxPortUDP: 10005 # STUN servers, you should host your own Coturn instance # #STUNServers: # - stun:stun.l.google.com:19302