selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

hydrogen-web logo

Self-host hydrogen-web

v0.5.1

Lightweight Matrix chat client with offline support

BetaOpen CoreAGPL-3.0
Updated6 months ago
LanguageTypescript
Setup difficultyModerate
MobilePWA
ThemeDark mode
Stars
714
Port
8080 (HTTP server for production Docker deployment)
Requires
Matrix homeserver, Node.js >= 15 and yarn
Docker
ghcr.io/element-hq/hydrogen-web
Install with Docker

What is hydrogen-web?

Hydrogen is a minimal Matrix chat client from Element that prioritizes speed, offline access, and wide browser compatibility. It runs as a standalone web app you can host on any web server or via Docker. Features include end-to-end encryption, service worker caching for offline use, PWA installation, light and dark themes, and an SDK for embedding chat into other apps. It connects to any Matrix homeserver and supports push notifications through Sygnal. The code is dual-licensed under AGPL-3.0 or a commercial Element license. Development is ongoing and the client is not yet feature-complete versus Element Web.

Should you self-host hydrogen-web?

hydrogen-web scores 48/100 on selfhost.directory (how scoring works) and ranks #56 of 110 in Chat. It has 714 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Zulip (82/100, 26 128 stars). It scores higher overall, so compare the two before you pick. See hydrogen-web vs Zulip side by side.

Features

  • Broad browser support
  • Embeddable SDK
  • End-to-end encryption
  • Matrix Protocol Support
  • Offline Functionality
  • Push NotificationsRequires Sygnal instance
  • Service worker caching
  • SSO authentication

hydrogen-web README

How to install hydrogen-web

Install hydrogen-web with Docker

Docker
Environment variables
CONFIG_OVERRIDE for config.json override

docker pull ghcr.io/element-hq/hydrogen-web docker tag ghcr.io/element-hq/hydrogen-web hydrogen

docker run --name hydrogen --publish 8080:8080 hydrogen

Production deployment uses nginx on port 8080

hydrogen-web releases & version history

FAQ

Why does uBlock Origin break Hydrogen?

Some uBlock Origin custom filters block the service worker script. Disable the blocking filter or disable uBlock Origin for the Hydrogen site.

I want to embed Hydrogen in my website, how should I do that?

Hydrogen aims to be usable as an SDK for embedding chat capabilities into other websites. See the SDK documentation for integration instructions.

I want to host my own Hydrogen, how do I do that?

Download published builds from GitHub releases, or build from source with yarn install and yarn build. Copy the target/ folder contents to your web server. Do not host on the same origin as your homeserver.

How can I verify my session from Element?

You can only verify by comparing keys manually. In Element, go to your profile, click on the Hydrogen device and select Manually Verify by Text.

Is there a way to run the app as a desktop app?

Hydrogen can be installed as a PWA using Chrome/Chromium on any platform or Edge on Windows. Gnome Web/Epiphany also supports installing as a web application. There is no Electron build planned.

What browsers are supported?

Hydrogen supports Internet Explorer 11, Chrome, Firefox (not in private window), Edge, Safari, and their mobile versions. TorBrowser is not supported due to IndexedDB limitations.

More in Communication

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…