Drop-in server for Matrix URL previews, for servers like Dendrite that don't support them natively.
Find a file
2024-02-10 02:04:12 +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 README 2024-02-10 02:04:12 +00:00
requirements.txt Use an sqlite cache 2024-02-10 01:52:20 +00:00
server.py Properly implement lifespan 2024-02-10 02:00:55 +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"
    ports:
      - "2226:2226"
    restart: "unless-stopped"
    container_name: "dendrite-url-previews"
    volumes:
      - ./data/:/app/data/
    build: .  # there's no pre-built image

Configuration

The only configuration option is PREVIEW_HOMESERVER, which is the homeserver to use for the previews. If not specified, it defaults to the host name of the request URL, which may not work in some reverse-proxy environments.