Drop-in server for Matrix URL previews, for servers like Dendrite that don't support them natively.
Find a file
2024-02-23 23:22:49 +00:00
.gitignore Initial commit 2024-02-09 22:37:15 +00:00
Dockerfile Initial commit 2024-02-09 22:37:15 +00:00
LICENSE Initial commit 2024-02-09 22:37:15 +00:00
README.md Update the runtime 2024-02-16 21:10:03 +00:00
requirements.txt Use an sqlite cache 2024-02-10 01:52:20 +00:00
server.py Fix log_debug_tidy polarity 2024-02-23 23:22:49 +00:00

Drop In URL previews server

A simple python server that handles /_matrix/media/*/preview_url requests, for servers like Dendrite.

Installation

Just use docker.

Or you can run it yourself, but that's your choice.

pip install -r requirements.txt
PREVIEW_HOMESERVER=https://example.com python3 server.py

Example docker-compose.yml

version: "3"
services:
  url_previews:
    environment:
      - "PREVIEW_HOMESERVER=https://matrix.nexy7574.co.uk"
      - "FORWARDED_ALLOW_IPS=*"
    ports:
      - "2226:2226"
    restart: "unless-stopped"
    container_name: "dendrite-url-previews"
    volumes:
      - url_previews:/app/data/
    build: .  # there's no pre-built image

volumes:
  url_previews:

Configuration

Environment Variable Description Example Default
PREVIEW_HOMESERVER The homeserver to use for the previews. https://matrix.nexy7574.co.uk The host name of the request URL.
PREVIEW_HOST The host IP/Name to listen to. 192.168.0.2 0.0.0.0
PREVIEW_PORT The port to listen to. 8080 2226
FORWARDED_ALLOW_IPS The list of reverse proxy IPs to trust. See Uvicorn docs * 127.0.0.1