Skip to main content

No project description provided

Project description

hookplate

Matrix appservice for creating webhook endpoints and sending webhook messages to matrix rooms

  • simple webservice that forwards webhook messages after formatting
  • simple jinja template can be used to format messages
  • webhook url creation and deletion through controll room
  • creates controll and output room on startup

Configuration

Either by config.ini or env variables. Env variables take precedence. Rename sample_config.ini to config.ini and set every config value.

Environment variable Config file name Example value
HOMESERVER_URL homeserver_url https://matrix.domain.com
ADMIN_USER admin_user @admin:matrix.domain.com
APPSERVICE_USER appservice_user @webhook:matrix.domain.com
TOKEN token syt_d2VgfG9eqr_dbvTrKgfDerOdseFMZNP_0z99KM
DEVICE_ID device_id AABBCCDDEE

Install/Run

Only if you run it non virtualized. You need python ">=3.13"

python -m venv .venv
source .venv/bin/activate
python -m pip install hookplate
hookplate

Docker

docker run -d --rm \
  --name hookplate \
  -v /on/host/appservice/config:/app/config \
  -p 8228:8228 \
  docker.io/hidraulicchicken/hookplate

Controll room commands

Command Explanation
!webhook help Show help message
!webhook list List all webhooks
!webhook add [name] Add a webhook with given name
!webhook remove [name] Remove webhook with given name

Development

Python packages are handled by uv, but if you prefer, look into pyproject.toml and install dependencies yourself.

git clone https://github.com/hidraulicChicken/hookplate.git
cd hookplate
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv --python 3.13.0
uv pip install -e .

Contribution

If you have jinja template for certain services webhooks, let me know in the issues page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hookplate-0.1.13.tar.gz (48.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hookplate-0.1.13-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file hookplate-0.1.13.tar.gz.

File metadata

  • Download URL: hookplate-0.1.13.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for hookplate-0.1.13.tar.gz
Algorithm Hash digest
SHA256 f32273a4b7cf2f2f5f778bb24180a297824fe7413e69c7d61a806bf5bd907369
MD5 f6cb6af04591d6e2fda76e0a0683c115
BLAKE2b-256 525ae07dd6685d4730b3d467346e0ff212951e155bd00eb839a9ee7987c81a22

See more details on using hashes here.

File details

Details for the file hookplate-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: hookplate-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for hookplate-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 455c8c11a5699eb0a5457fc6d4fc5ec8e04065aa3d7176a4f32819f318ba0078
MD5 94bb6fe5e50e2e064ef338671ef81c20
BLAKE2b-256 4cbd673341975833b95c95d0e0d42bb4d4ef42ceb58ea2bdd72bf5497400658f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page