Skip to content

Formatter for WeKan webhooks, making them all Discord-embed pretty

Notifications You must be signed in to change notification settings

mibmo/wekan-discord

Repository files navigation

wekan-discord

Wekan webhook middleware that formats as pretty Discord embeds. Discord webhook middleware to format Wekan events.

How does it work?

wekan-discord intercepts the Wekan event and formats it as pretty Discord embeds.

Direct wekan-discord
direct card creation bridge card creation
direct card moving bridge card moving

Usage

You need two things: a discord channel and a wekan board.

To start off, head to your Discord channel's settings, then navigate to Integrations and press Create Webhook. Give it an appropriate name (such as Wekan) and copy the webhook URL.

Creating the outgoing webhook in Wekan

Then head to your Wekan board's settings and go into the Outgoing Webhooks menu. From there, create a webhook. The URL for the webhook is the webhook URL you copied from Discord, except replace the discord.com with your wekan-discord instance's URL (such as wekan-discord.mib.dev). Name and token don't matter, but do note that it is a one-way webhook.

Creating the outgoing webhook in Wekan

Upon creating the webhook, you should start seeing bridged events. If not, please double & triple-check your setup and if the errors persist then check if anyone has had similar issues. If you're unable to find a resolution, please submit an issue.

Self-hosting

There are several options for hosting. Though using a container orchestrator is the recommended way to deploy wekan-discord, there are several options.

The container image can be deployed as

docker run --rm -p 8080:10080 ghcr.io/mibmo/wekan-discord:latest

A compose file can also be found in deploy/compose.yaml

A wekan-discord instance can be deployed to Kubernetes using kustomize. The kustomize configuration is available in deploy/kustomize, and can be deployed using kubectl apply -k deploy/kustomize.

If not already installed, do so by following the quick start.

The application can then be created with

pm2 start src/main.js \
	--name wekan-discord \
	--log wekan-discord.log

Realtime monitoring is then available using pm2 monit.

systemd

A systemd service is available at deploy/wekan-discord.service. To run, wekan-discord must be cloned to /opt/wekan-discord and the node modules must already have been downloaded.

Privacy

Data logged by a wekan-discord instance is as follows:

  • Timestamp
  • Discord channel ID

Data is logged only for debugging purposes. If deemed unacceptable, an instance can be self-hosted using the provided container file or container image.

About

Formatter for WeKan webhooks, making them all Discord-embed pretty

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages