Self-host hydrogen-web
v0.5.1Lightweight Matrix chat client with offline support
- Stars
- 714
- Port
- 8080 (HTTP server for production Docker deployment)
- Requires
- Matrix homeserver, Node.js >= 15 and yarn
ghcr.io/element-hq/hydrogen-webWhat 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
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
HyphanetFred, the open-source Hyphanet/Freenet reference node, is a self-hosted encrypted P2P network for anonymous freesites, forums, microblogging and file sharing.
InspIRCdOpen-source, self-hosted IRC server with full ratified IRCv3 support that runs on Linux, BSD, macOS and Windows, where every extra feature is a loadable module.
JamiJami is a free/libre, end-to-end encrypted, and private communication software that supports instant messaging, audio/video calls, and video conferencing.
JanusJanus WebRTC Server
Jitsi MeetSelf-hosted, open-source WebRTC video conferencing with HD audio, screen sharing, chat, polls, recording and mobile apps, deployed via Docker or Debian packages.
Jitsi Meet on DockerJitsi Meet on Docker is a self-hosted, open-source video conferencing solution deployed via Docker Compose, offering encrypted meetings with no account required.
Kiwi IRCKiwi IRC is a self-hosted, open-source web IRC client with multiple themes, plugin support, and responsive design for desktop and mobile browsers.
lastsignalSelf-hosted dead man's switch that sends encrypted messages to recipients when you stop checking in via email. Zero-knowledge architecture with client-side encryption.- LiberviaLibervia-web is a web-based interface for Libervia, a decentralized and federated communication platform based on XMPP. It provides features such as instant messaging, microblogging, file sharing, photo albums, events, and forums.
Live Helper ChatLive Helper Chat - live support for your website. Featuring web and mobile apps, Voice & Video & ScreenShare. Supports Telegram, Twilio (whatsapp), Facebook messenger including building a bot.
LurkerLurker is a self-hosted, open-source IRC bouncer and client with full history, search, reactions, replies, and native mobile apps.
MaelstromOpen-source Rust Matrix homeserver that scales horizontally via stateless nodes, SurrealDB on TiKV, and UDP gossip clustering.
0 comments