module.exports = { // // Set the server mode. // Public servers does not require authentication. // // Set to 'false' to enable users. // // @type boolean // @default true // public: true, // // IP address or hostname for the web server to listen on. // Setting this to undefined will listen on all interfaces. // // @type string // @default undefined // host: undefined, // // Set the port to listen on. // // @type int // @default 9000 // port: 9000, // // Set the local IP to bind to for outgoing connections. Leave to undefined // to let the operating system pick its preferred one. // // @type string // @default undefined // bind: undefined, // // Sets whether the server is behind a reverse proxy and should honor the // X-Forwarded-For header or not. // // @type boolean // @default false // reverseProxy: false, // // Set the default theme. // // @type string // @default "themes/example.css" // theme: "themes/example.css", // // Autoload users // // When this setting is enabled, your 'users/' folder will be monitored. This is useful // if you want to add/remove users while the server is running. // // @type boolean // @default true // autoload: true, // // Prefetch URLs // // If enabled, The Lounge will try to load thumbnails and site descriptions from // URLs posted in channels. // // @type boolean // @default false // prefetch: false, // // Prefetch URLs Image Preview size limit // // If prefetch is enabled, The Lounge will only display content under the maximum size. // Default value is 512 (in kB) // // @type int // @default 512 // prefetchMaxImageSize: 512, // // Display network // // If set to false network settings will not be shown in the login form. // // @type boolean // @default true // displayNetwork: true, // // Lock network // // If set to true, users will not be able to modify host, port and tls // settings and will be limited to the configured network. // // @type boolean // @default false // lockNetwork: false, // // WEBIRC support // // If enabled, The Lounge will pass the connecting user's host and IP to the // IRC server. Note that this requires to obtain a password from the IRC network // The Lounge will be connecting to and generally involves a lot of trust from the // network you are connecting to. // // Format (standard): {"irc.example.net": "hunter1", "irc.example.org": "passw0rd"} // Format (function): // {"irc.example.net": function(client, args, trusted) { // // here, we return a webirc object fed directly to `irc-framework` // return {username: "thelounge", password: "hunter1", address: args.ip, hostname: "webirc/"+args.hostname}; // }} // // @type string | function(client, args):object(webirc) // @default null webirc: null, // // Log settings // // Logging has to be enabled per user. If enabled, logs will be stored in // the 'logs///' folder. // // @type object // @default {} // logs: { // // Timestamp format // // @type string // @default "YYYY-MM-DD HH:mm:ss" // format: "YYYY-MM-DD HH:mm:ss", // // Timezone // // @type string // @default "UTC+00:00" // timezone: "UTC+00:00" }, // // Maximum number of history lines per channel // // Defines the maximum number of history lines that will be kept in // memory per channel/query, in order to reduce the memory usage of // the server. Negative means unlimited. // // @type integer // @default -1 maxHistory: -1, // // Default values for the 'Connect' form. // // @type object // @default {} // defaults: { // // Name // // @type string // @default "Freenode" // name: "Freenode", // // Host // // @type string // @default "chat.freenode.net" // host: "chat.freenode.net", // // Port // // @type int // @default 6697 // port: 6697, // // Password // // @type string // @default "" // password: "", // // Enable TLS/SSL // // @type boolean // @default true // tls: true, // // Nick // // @type string // @default "lounge-user" // nick: "lounge-user", // // Username // // @type string // @default "lounge-user" // username: "lounge-user", // // Real Name // // @type string // @default "The Lounge User" // realname: "The Lounge User", // // Channels // This is a comma-separated list. // // @type string // @default "#thelounge" // join: "#thelounge" }, // // Set socket.io transports // // @type array // @default ["polling", "websocket"] // transports: ["polling", "websocket"], // // Run The Lounge using encrypted HTTP/2. // This will fallback to regular HTTPS if HTTP/2 is not supported. // // @type object // @default {} // https: { // // Enable HTTP/2 / HTTPS support. // // @type boolean // @default false // enable: false, // // Path to the key. // // @type string // @example "sslcert/key.pem" // @default "" // key: "", // // Path to the certificate. // // @type string // @example "sslcert/key-cert.pem" // @default "" // certificate: "" }, // // Run The Lounge with identd support. // // @type object // @default {} // identd: { // // Run the identd daemon on server start. // // @type boolean // @default false // enable: false, // // Port to listen for ident requests. // // @type int // @default 113 // port: 113 }, // // Enable oidentd support using the specified file // // Example: oidentd: "~/.oidentd.conf", // // @type string // @default null // oidentd: null, // // LDAP authentication settings (only available if public=false) // @type object // @default {} // ldap: { // // Enable LDAP user authentication // // @type boolean // @default false // enable: false, // // LDAP server URL // // @type string // url: "ldaps://example.com", // // LDAP base dn // // @type string // baseDN: "ou=accounts,dc=example,dc=com", // // LDAP primary key // // @type string // @default "uid" // primaryKey: "uid" }, // Enables extra debugging output. Turn this on if you experience // IRC connection issues and want to file a bug report. // // @type boolean // @default false // debug: false, };