services.jitsi-meet.enable

Whether to enable Jitsi Meet - Secure, Simple and Scalable Video Conferences.

type

boolean

example

{
  services.jitsi-meet.enable = true;
}

default

{
  services.jitsi-meet.enable = false;
}

services.jitsi-meet.package

type

package

default

{
  services.jitsi-meet.package = {
    drvPath = "jitsi-meet-1.0.4025";
    name = "jitsi-meet-1.0.4025";
    outPath = "jitsi-meet-1.0.4025";
    type = "derivation";
  };
}

services.jitsi-meet.config

Client-side web application settings that override the defaults in config.js.

See for default configuration with comments.

type

attribute set

example

{
  services.jitsi-meet.config = {
    _type = "literalExpression";
    text = ''
      {
        enableWelcomePage = false;
        defaultLang = "fi";
      }
      
    '';
  };
}

default

{
  services.jitsi-meet.config = {};
}

services.jitsi-meet.hostName

Hostname of the Jitsi Meet instance.

type

string

example

{
  services.jitsi-meet.hostName = "meet.example.org";
}

services.jitsi-meet.interfaceConfig

Client-side web-app interface settings that override the defaults in interface_config.js.

See for default configuration with comments.

type

attribute set

example

{
  services.jitsi-meet.interfaceConfig = {
    _type = "literalExpression";
    text = ''
      {
        SHOW_JITSI_WATERMARK = false;
        SHOW_WATERMARK_FOR_GUESTS = false;
      }
      
    '';
  };
}

default

{
  services.jitsi-meet.interfaceConfig = {};
}

services.jitsi-meet.jicofo.package

type

package

default

{
  services.jitsi-meet.jicofo.package = {
    drvPath = "jicofo-1.0-549";
    name = "jicofo-1.0-549";
    outPath = "jicofo-1.0-549";
    type = "derivation";
  };
}

services.jitsi-meet.jicofo.config

Contents of the sip-communicator.properties configuration file for jicofo.

type

attribute set of string

example

{
  services.jitsi-meet.jicofo.config = {
    _type = "literalExpression";
    text = ''
      {
        "org.jitsi.jicofo.auth.URL" = "XMPP:jitsi-meet.example.com";
      }
      
    '';
  };
}

default

{
  services.jitsi-meet.jicofo.config = {};
}

services.jitsi-meet.nginx.enable

Whether to enable nginx virtual host that will serve the javascript application and act as a proxy for the XMPP server. Further nginx configuration can be done by adapting

. It is highly recommended to enable the and options: services.nginx.virtualHosts.${config.services.jitsi-meet.hostName} = { enableACME = true; forceSSL = true; };

type

boolean

default

{
  services.jitsi-meet.nginx.enable = true;
}

services.jitsi-meet.prosody.enable

Whether to configure Prosody to relay XMPP messages between Jitsi Meet components. Turn this off if you want to configure it manually.

type

boolean

default

{
  services.jitsi-meet.prosody.enable = true;
}

services.jitsi-meet.videobridge.enable

Whether to enable Jitsi Videobridge instance and configure it to connect to Prosody.

Additional configuration is possible with .

type

boolean

default

{
  services.jitsi-meet.videobridge.enable = true;
}

services.jitsi-videobridge.enable

Whether to enable Jitsi Videobridge, a WebRTC compatible video router.

type

boolean

example

{
  services.jitsi-videobridge.enable = true;
}

default

{
  services.jitsi-videobridge.enable = false;
}

services.jitsi-videobridge.package

type

package

default

{
  services.jitsi-videobridge.package = {
    drvPath = "jitsi-videobridge2-2.1-183-gdbddd169";
    name = "jitsi-videobridge2-2.1-183-gdbddd169";
    outPath = "jitsi-videobridge2-2.1-183-gdbddd169";
    type = "derivation";
  };
}

services.jitsi-videobridge.config

Videobridge configuration.

See for default configuration with comments.

type

attribute set

example

{
  services.jitsi-videobridge.config = {
    _type = "literalExpression";
    text = ''
      {
        videobridge = {
          ice.udp.port = 5000;
          websockets = {
            enabled = true;
            server-id = "jvb1";
          };
        };
      }
      
    '';
  };
}

default

{
  services.jitsi-videobridge.config = {};
}

services.jitsi-videobridge.extraProperties

Additional Java properties passed to jitsi-videobridge.

type

attribute set of string

default

{
  services.jitsi-videobridge.extraProperties = {};
}

services.jitsi-videobridge.nat.localAddress

Local address when running behind NAT.

type

null or string

example

{
  services.jitsi-videobridge.nat.localAddress = "192.168.1.42";
}

default

{
  services.jitsi-videobridge.nat.localAddress = null;
}

services.jitsi-videobridge.nat.publicAddress

Public address when running behind NAT.

type

null or string

example

{
  services.jitsi-videobridge.nat.publicAddress = "1.2.3.4";
}

default

{
  services.jitsi-videobridge.nat.publicAddress = null;
}

services.jitsi-videobridge.openFirewall

Whether to open ports in the firewall for the videobridge.

type

boolean

default

{
  services.jitsi-videobridge.openFirewall = false;
}

services.jitsi-videobridge.xmppConfigs

XMPP servers to connect to.

See for more information.

type

attribute set of submodule

example

{
  services.jitsi-videobridge.xmppConfigs = {
    _type = "literalExpression";
    text = ''
      {
        "localhost" = {
          hostName = "localhost";
          userName = "jvb";
          domain = "auth.xmpp.example.org";
          passwordFile = "/var/lib/jitsi-meet/videobridge-secret";
          mucJids = "jvbbrewery@internal.xmpp.example.org";
        };
      }
      
    '';
  };
}

default

{
  services.jitsi-videobridge.xmppConfigs = {};
}

services.jitsi-videobridge.xmppConfigs.<name>.disableCertificateVerification

Whether to skip validation of the server's certificate.

type

boolean

default

{
  services.jitsi-videobridge.xmppConfigs.<name>.disableCertificateVerification = false;
}

services.jitsi-videobridge.xmppConfigs.<name>.domain

Domain part of JID of the XMPP user, if it is different from hostName.

type

null or string

example

{
  services.jitsi-videobridge.xmppConfigs.<name>.domain = "auth.xmpp.example.org";
}

default

{
  services.jitsi-videobridge.xmppConfigs.<name>.domain = null;
}

services.jitsi-videobridge.xmppConfigs.<name>.hostName

Hostname of the XMPP server to connect to. Name of the attribute set is used by default.

type

string

example

{
  services.jitsi-videobridge.xmppConfigs.<name>.hostName = "xmpp.example.org";
}

services.jitsi-videobridge.xmppConfigs.<name>.mucJids

JID of the MUC to join. JiCoFo needs to be configured to join the same MUC.

type

string

example

{
  services.jitsi-videobridge.xmppConfigs.<name>.mucJids = "jvbbrewery@internal.xmpp.example.org";
}

services.jitsi-videobridge.xmppConfigs.<name>.mucNickname

Videobridges use the same XMPP account and need to be distinguished by the nickname (aka resource part of the JID). By default, system hostname is used.

type

string

services.jitsi-videobridge.xmppConfigs.<name>.passwordFile

File containing the password for the user.

type

string

example

{
  services.jitsi-videobridge.xmppConfigs.<name>.passwordFile = "/run/keys/jitsi-videobridge-xmpp1";
}

services.jitsi-videobridge.xmppConfigs.<name>.userName

User part of the JID.

type

string

default

{
  services.jitsi-videobridge.xmppConfigs.<name>.userName = "jvb";
}

services.prometheus-exporters-lnd.enable

Whether to enable the prometheus lnd (Lightning Network Daemon) exporter.

type

boolean

example

{
  services.prometheus-exporters-lnd.enable = true;
}

default

{
  services.prometheus-exporters-lnd.enable = false;
}

services.prometheus-exporters-lnd.extraFlags

Extra commandline options to pass to the lnd exporter.

type

list of string

default

{
  services.prometheus-exporters-lnd.extraFlags = [];
}

services.prometheus-exporters-lnd.firewallFilter

type

string

example

{
  services.prometheus-exporters-lnd.firewallFilter = {
    _type = "literalExpression";
    text = ''
      "-i eth0 -p tcp -m tcp --dport 9092"
      
    '';
  };
}

default

{
  services.prometheus-exporters-lnd.firewallFilter = "-p tcp -m tcp --dport 9092";
}

services.prometheus-exporters-lnd.group

type

string

default

{
  services.prometheus-exporters-lnd.group = "lnd-exporter";
}

services.prometheus-exporters-lnd.listenAddress

Address to listen on.

type

string

default

{
  services.prometheus-exporters-lnd.listenAddress = "0.0.0.0";
}

services.prometheus-exporters-lnd.lndHost

lnd instance gRPC address:port.

type

string

default

{
  services.prometheus-exporters-lnd.lndHost = "localhost:10009";
}

services.prometheus-exporters-lnd.lndMacaroonDir

Path to lnd macaroons.

type

path

services.prometheus-exporters-lnd.lndTlsPath

Path to lnd TLS certificate.

type

path

services.prometheus-exporters-lnd.openFirewall

Open port in firewall for incoming connections.

type

boolean

default

{
  services.prometheus-exporters-lnd.openFirewall = false;
}

services.prometheus-exporters-lnd.port

Port to listen on.

type

signed integer

default

{
  services.prometheus-exporters-lnd.port = 9092;
}

services.prometheus-exporters-lnd.user

type

string

default

{
  services.prometheus-exporters-lnd.user = "lnd-exporter";
}

services.rtl.enable

Whether to enable Ride The Lightning - A full function web browser app for LND and C-Lightning.

type

boolean

example

{
  services.rtl.enable = true;
}

default

{
  services.rtl.enable = false;
}

services.rtl.host

Host for the rtl node server.

type

string

default

{
  services.rtl.host = "localhost";
}

services.rtl.port

Port for the rtl node server.

type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

default

{
  services.rtl.port = 3003;
}