Settings

This section describes the plugin settings page.

Channel’s chat terms & conditions

You can configure a “terms & conditions” message that will be shown to users joining your chatrooms.

For more information on this feature, check the documentation for channel’s terms & conditions.

Info

Changing this setting will restart the chat server, and all users will be disconnected for a short time.

List existing rooms

When pressing the «List rooms» button, all existing chatrooms will be listed. You can then find them and moderated them.

Federation

Following settings concern the federation with other Peertube instances, and other fediverse softwares.

Don’t display remote chats

By checking this setting, your instance will never display chats from remote videos.

Don’t publish chat information

By checking this setting, your instance will not publish chat information on the fediverse. Remote Peertube instances will not be aware that they are chat rooms associated to your videos.
Please note: if you already had chats in progress, it is possible that the information has already been published. You will have to wait for the next video update before the information is unpublished. Also, if you disable this setting, you’ll have to wait for the videos to be updated before the information are published again. This update happens among others when a live event resumes or stops.
Please note: this setting only affects the publication of information via the ActivityPub protocol. It will not prevent a remote application from otherwise detecting the presence of chats, and trying to connect to it.

Authentication

Disable livechat tokens

In case you have any trouble with the long term authentication tokens, you can disable the feature here.

External Authentication

See the detailed documentation page:

External Authentication

Channel advanced configuration

Following settings concern the advanced channel options: users will be able to add some customization on their channels, activate the moderation bot, …

Disable the advanced channel configuration and the chatbot

If you encounter any issue with this feature, you can disable it.

Chat behaviour

Room type

You can choose here to have separate rooms for each video, or to group them by channel.

Automatically open the chat

When watching a video, the chatbox will automatically open.

Show the «open in new window» button

There will be a button for opening the web chat in a new window.

This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat. The chat can be customized (readonly mode, use the current theme, …).

You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!

This setting allows you to choose who can access this modal.

Users can activate the chat for their lives

If checked, all live videos will have a checkbox in their properties for enabling the web chat.

The video owner will be able to activate web chats.

Activate chat for all lives

If checked, the chat will be enabled for all lives.

Activate chat for all non-lives

Activate chat for all non-lives

Activate chat for these videos

Activate chat for these videos

Hide the chat for anonymous users

If checked, anonymous Peertube users won’t see the chat. This feature is still experimental. If you enabled it, it is highly recommended to also check “Don’t publish chat information”. Otherwise, some third party tools could try to open the chat, and have unpredictable behaviours.

Note: for now this feature simply hide the chat. In a future release, the chat will be replaced by a message saying «please log in to […]». See v5.7.0 Release Notes for more information.

Ban anonymous user’s IP when user is banned from a chatroom

By enabling this option, each time an anonymous user is banned from a chatroom, it’s IP will also be banned from the chat server. Warning: if your instance is open to registration, any user could create a trapped-room, invite users to join, and automatically ban all anonymous user’s IPs. The banned IP list is not stored, it will be cleared on server restart, or when you change some plugin’s settings. The banned IP are logged in the Prosody server log files, so server’s administrators can eventually use some external tools (like fail2ban) to ban IPs more widely.

Important note: If you enable this feature, and are using a custom reverse proxy on front of Peertube, please make sure that your setup is correctly configured to forward real user’s IPs to Peertube. Otherwise it could block all anonymous users at once.

Theming

Avatar set

You can choose from several different sets the default avatars that will be used for chat users.

Sepia (Peertube mascot): David Revoy’s Peertube avatar generator, CC-By license

Sepia avatar\nexample Sepia avatar\nexample

Cats: David Revoy’s cat avatar generator, CC-By license

Cats avatar\nexample Cats avatar\nexample

Birds: David Revoy’s bird avatar generator, CC-By license

Birds avatar\nexample Birds avatar\nexample

Fenecs (Mobilizon mascot): David Revoy’s fenec/mobilizon avatar generator, CC-By license

Fenecs avatar\nexample Fenecs avatar\nexample

Abstract: David Revoy’s Abstract avatar generator, CC-By license

Abstracts avatar\nexample Abstracts avatar\nexample

Legacy Sepia avatars (those included in previous plugin versions): Based on David Revoy' work, AGPL-v3 license

Legacy avatar\nexample Legacy avatar\nexample

If you can’t see the change immediatly, it could be because of your browser cache. Just clear your browser session storage, or restart it.

ConverseJS theme

You can choose which theme to use for ConverseJS:

  • Peertube theme: this is a special theme, made especially for peertube’s integration.
  • Default ConverseJS theme: this is the default ConverseJS theme.
  • ConverseJS cyberpunk theme: this is a theme provided by ConverseJS.

Automatic color detection

Try to autodetect colors from user’s current theme.
When this setting is enabled, the plugin tries to auto-detect colors to apply to the chat theme.
If this is not correctly working for some of your Peertube theme, you can disable this option. You can report the bug on the official issue tracker . Don’t forget to specify which theme is not working.

Webchat iframe style attribute

Additional styles to be added on the iframe style attribute.
Example: height:400px;

Chat server advanced settings

Use system Prosody

The plugin comes with an AppImage that is used to run the Prosody XMPP server. If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the prosody package.

This setting should only be used if the plugin is broken, and waiting for a patch.

Disable Websocket

With Peertube >= 5.0.0, this plugin try to use Websocket connection for chatting. If the user’s browser or connection is incompatible, the browser will automatically fall back on the BOSH protocol.
But in rare case, this can fail. For example, if you have a reverse proxy in front of Peertube that does not allow Websocket connection for plugins. In this case, you can check this setting to disable Websocket connections.

Prosody port

The port that will be used by the Prosody server.
Change it if this port is already in use on your server.
You can close this port on your firewall, it will not be accessed from the outer world.
Note: this might change in a near future, as it is planned to add a feature to activate external connections.

Peertube url for API calls

Please let this setting empty if you don’t know what you are doing.
In some rare cases, Prosody can’t call Peertube’s API from its public URI. You can use this field to customize Peertube’s URI for Prosody modules (for example, with «http://localhost:9000» or «http://127.0.0.1:9000»).

If this setting is left empty, and you are using Peertube >= 5.1 or later, the plugin will use values from your Peertube configuration file to guess on which interface and port request have to be done.

In last resort, it will use your Peertube public URI. So, any API Call will go throught your Nginx server. This could fail in some case: for example if you are in a Docker container, where the public hostname does not resolve to the correct IP. In such case, try changing the “Peertube url for API calls” settings, by setting http://127.0.0.1:9000 (assuming 9000 is the port on which Peertube listen, ask your instance administrators if you don’t know).

Log rooms content by default

If checked, room contents will be saved by default. Any user who joins a room will see what was written before they joins.
Please note that it is always possible to enable/disable the content archiving for a specific room, by editing its properties.

Room logs expiration

You can choose here how long the chatting room’s content is kept by the server. The value can be:

  • 60: the content will be saved for 60 seconds. You can replace 60 by any integer value.
  • 1d: the content will be saved for 1 day. You can replace 1 by any integer value.
  • 1w: the content will be saved for 1 week. You can replace 1 by any integer value.
  • 1m: the content will be saved for 1 month. You can replace 1 by any integer value.
  • 1y: the content will be saved for 1 year. You can replace 1 by any integer value.
  • never: the content will never expire, and will be kept forever.

Enable connection to room using external XMPP accounts

By enabling this option, it will be possible to connect to rooms using external XMPP accounts and XMPP clients.
Warning, enabling this option can request extra server and DNS configuration. Please refer to the documentation: Enable external XMPP account connections.

Prosody server to server port

The port that will be used for XMPP s2s (server to server) connections.
You should use the standard 5269 port. Otherwise you should setup a specific DNS record .

Server to server network interfaces

The network interfaces to listen on for server to server connections.
List of IP to listen on, coma separated (spaces will be stripped).
You can use «*» to listen on all IPv4 interfaces, and «::» for all IPv6.
Examples:

  • *, ::
  • *
  • 127.0.0.1, ::1
  • 172.18.0.42

Certificates folder

If this field is empty, the plugin will generate and use self-signed certificates.
If you want to use other certificates, just specify here the folder where Prosody can find them. Note: the “peertube” user must have read access to this folder.

Enable client to server connections

Enable XMPP clients to connect to the built-in Prosody server.
This option alone only allows connections from localhost clients.

This setting enable XMPP clients to connect to the built-in Prosody server. For now, this option only allows connections from localhost clients.

As example, this option can allow an instance of Matterbridge (once it could use anonymous login) on the same machine to bridge your chat with another services like a Matrix room.

Prosody client to server port

The port that will be used by the c2s module of the built-in Prosody server.
XMPP clients shall use this port to connect.
Change it if this port is already in use on your server.
You can keep this port closed on your firewall for now, it will not be accessed from the outer world.
Note: this might change in a near future, as it is planned to add a feature to activate external connections.

Client to server network interfaces

The network interfaces to listen on for client to server connections.
This setting is provided for advanced users. Don’t change this setting if you don’t fully understand what it means.
List of IP to listen on, coma separated (spaces will be stripped).
You can use «*» to listen on all IPv4 interfaces, and «::» for all IPv6.
Examples:

  • *, ::
  • *
  • 127.0.0.1, ::1
  • 127.0.0.1, ::1, 172.18.0.42

Enable custom Prosody external components

This setting enable XMPP external components to connect to the server. By default, this option only allows connections from localhost components. You have to change the “Prosody external components network interfaces” value to listen on other network interfaces.

This feature could be used to connect bridges or bots.

More informations on Prosody external components here.

Enable custom Prosody external components

Enable the use of external XMPP components.
This option alone only allows connections from localhost. You have to setup the listening interfaces and open the port on your firewall to make it available from remote servers.
This feature can, for example, be used to connect some bots to the chatting rooms.

Prosody external components port

The port that will be used by XMPP components to connect to the Prosody server.
Change it if this port is already in use on your server.
You can keep this port closed on your firewall if you don’t allow access on interfaces other than localhost.

Prosody external components network interfaces

The network interfaces to listen on for external components connections.
List of IP to listen on, coma separated (spaces will be stripped).
You can use «*» to listen on all IPv4 interfaces, and «::» for all IPv6.
Examples:

  • *, ::
  • *
  • 127.0.0.1, ::1
  • 172.18.0.42

External components

The external components to declare:

  • One per line.
  • Use the format «component_name:component_secret» (spaces will be trimmed).
  • You can add comments: everything after the # character will be stripped off, and empty lines ignored.
  • The name can only contain latin alphanumeric characters and dots.
  • If the name contains only alphanumeric characters, it will be suffixed with the XMPP domain. For example, «bridge» will become «bridge.your_domain.tld». You can also specify a full domain name, but you have to make sure to configure your DNS correctly.
  • Only use alphanumeric characters in the secret passphrase (use at least 15 characters).

Enable Prosody mod_firewall

You can enable mod_firewall on your Prosody server.

For more information, please check the documentation.