matrix-docker-ansible-deploy/docs/configuring-playbook-bridge-appservice-irc.md

2.7 KiB

Setting up Appservice IRC (optional)

The playbook can install and configure matrix-appservice-irc for you.

See the project's documentation to learn what it does and why it might be useful to you.

The Appservice IRC bridge configuration using Ansible will require that you have python-pyOpenSSL installed on your local machine.

You'll need to use the following playbook configuration:

matrix_appservice_irc_enabled: true
matrix_appservice_irc_configuration_extension_yaml: |
  # Your custom YAML configuration for Appservice IRC servers goes here.
  # This configuration extends the default starting configuration (`matrix_appservice_irc_configuration_yaml`).
  #
  # You can override individual variables from the default configuration, or introduce new ones.
  #
  # If you need something more special, you can take full control by
  # completely redefining `matrix_appservice_irc_configuration_yaml`.
  # 
  # For a full example configuration with comments, see `roles/matrix-synapse/defaults/main.yml`
  #
  # A simple example configuration extension follows:
  #
  ircService:
    databaseUri: "nedb://data" # does not typically need modification
    passwordEncryptionKeyPath: "/data/passkey.pem" # does not typically need modification
    matrixHandler:
      eventCacheSize: 4096
    servers:
      irc.example.com:
        name: "ExampleNet"
        port: 6697
        ssl: true
        sasl: false
        allowExpiredCerts: false
        sendConnectionMessages: true
        botConfig:
          enabled: true
          nick: "MatrixBot"
          joinChannelsIfNoUsers: true
        privateMessages:
          enabled: true
          federate: true
        dynamicChannels:
          enabled: true
          createAlias: true
          published: true
          joinRule: public
          groupId: +myircnetwork:localhost
          federate: true
          aliasTemplate: "#irc_$CHANNEL"
        membershipLists:
          enabled: false
          floodDelayMs: 10000
          global:
            ircToMatrix:
              initial: false
              incremental: false
            matrixToIrc:
              initial: false
              incremental: false
        matrixClients:
          userTemplate: "@irc_$NICK"
          displayName: "$NICK (IRC)"
          joinAttempts: -1
        ircClients:
          nickTemplate: "$DISPLAY[m]"
          allowNickChanges: true
          maxClients: 30
          idleTimeout: 10800
          reconnectIntervalMs: 5000
          concurrentReconnectLimit: 50
          lineLimit: 3  

You then need to start a chat with @irc_bot:{{ hostname_identity }}