💬Discourse

A Discourse plugin to enable Sign-In with Ethereum as an authentication method.

Overview

Discourse is an open-source discussion platform used for most crypto governances and projects to discuss proposals, updates, and research. The following is a quick guide on how to add Sign-In with Ethereum to your existing Discourse.

Enabling the Plugin

To install and enable the plugin on your self-hosted Discourse use the following method:

  • Access your container’s app.yml file (present in /var/discourse/containers/)

cd /var/discourse
nano containers/app.yml
  • Add the plugin’s repository URL to your container’s app.yml file:

app.yml
hooks:
  before_code:                             # <-- added
    - exec:                                # <-- added
        cmd:                               # <-- added
          - gem install rubyzip            # <-- added
  after_code:
    - exec:
      cd: $home/plugins
      cmd:
        - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
        - sudo -E -u discourse git clone https://github.com/spruceid/discourse-siwe-auth.git   # <-- added
  • Follow the existing format of the docker_manager.git line; if it does not contain sudo -E -u discourse then insert - git clone https://github.com/spruceid/discourse-siwe-auth.git.

  • Rebuild the container:

cd /var/discourse
./launcher rebuild app

To disable it either remove the plugin or uncheck discourse siwe enabled at (Admin Settings -> Plugins -> discourse-siwe -> discourse siwe enabled ).

Accessing plugin settings.
Enable plugin at settings.

Create a Project ID

This plugin uses the newest Web3Modal v2, in order to use it you need to create a free project id at https://cloud.walletconnect.com/sign-in and configure it in the plugin.

Edit the message statement

By default, a statement is added to the messages: Sign-in to Discourse via Ethereum. To edit this statement access the settings (same as before) and update it.

Last updated