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.12.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.12-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hookplate-0.1.12.tar.gz
Algorithm Hash digest
SHA256 cbddf4b92f627c602bb20c8c0e11bfa4070121778379f52ad68c5e44e383dc60
MD5 ce9fc7c0b44040deaa2f8f9302e98ab5
BLAKE2b-256 84c5633be38c7e53d79606c8691a390cd64260ee0fdf89b924465f066bd6b874

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hookplate-0.1.12-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.13.1

File hashes

Hashes for hookplate-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 1f3cb2b6f7255898f9e61a128efad9c199fb9a372b38029d30389da52849bb62
MD5 447288d24a2411a2ba19254fb48d66ed
BLAKE2b-256 e6f6c0d5516749a2a16089bda38dc7c3aed65323a77c57ebeb6eec58830f6c39

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