Self-host mollysocket
1.7.1Signal notification relay via UnifiedPush
- Stars
- 409
- Port
- 8020 (Web server for QR code and UnifiedPush registration)
ghcr.io/mollyim/mollysocketWhat is mollysocket?
MollySocket is a self-hosted notification relay that connects to Signal servers as a linked device and forwards incoming notifications to Android devices via UnifiedPush. It does not hold any encryption keys, so it cannot read message contents. Users run MollySocket on their own server (via Docker, binary, or systemd), configure a UnifiedPush distributor app like ntfy on their phone, and scan a QR code from the MollySocket web interface to link their Signal account. The server exposes a web interface on port 8020 (default) that must be placed behind a TLS-terminating reverse proxy. Configuration is done via TOML file or environment variables, controlling allowed UnifiedPush endpoints, permitted Signal account UUIDs, database path, and VAPID keys for push authorization. An air-gapped mode allows operation without a public web interface. The project is licensed under AGPL-3.0 and written in Rust.
Should you self-host mollysocket?
mollysocket scores 50/100 on selfhost.directory (how scoring works) and ranks #10 of 14 in Messaging. It has 409 GitHub stars.
It shipped 2 stable releases in the past year. The latest, 1.7.1, came out on 25 March 2026. New versions land roughly every 6 weeks.
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 Rust.
Its closest alternative on selfhost.directory is EMQX (78/100, 16 867 stars). It scores higher overall, so compare the two before you pick. See mollysocket vs EMQX side by side.
Features
- Air-Gapped Mode
- Allowed endpoints filtering
- Allowed UUIDs filtering
- No encryption keys stored
- Signal notification relay
- UnifiedPush support
- VAPID key authentication
- Web interface for QR code pairingRequires TLS-terminating reverse proxy
mollysocket README
FAQ
Why is the status 'Waiting for confirmation from the MollySocket server' in air-gapped mode?
The MollySocket server hasn't sent a test notification yet. Ensure the server is running and run the connection ping command with your account ID.
Why does the Android app show 'The endpoint is forbidden by the server'?
The UnifiedPush endpoint (push server) is not in the allowed_endpoints list. Add your push server URL to allowed_endpoints.
Why does the Android app show 'The account ID is refused by the server'?
The server's allowed_uuids configuration does not include your Signal account ID. Add your account ID or use wildcard [*] to allow all.
Why does the Android app show 'Invalid response from server'?
The MollySocket server cannot be reached at the configured URL or is not responding correctly. Verify the URL works in a mobile browser.
Why do I see an alert about origin or pathname not being correct?
The reverse proxy must forward the original Host header and X-Original-URL header to MollySocket so it can generate correct URLs.
How to backup VAPID key?
Generate the key and pipe to a temporary file before encrypting with systemd-creds, or decrypt an existing encrypted credential file using systemd-creds.
Where is the MollySocket QR code?
The QR code appears on the MollySocket web interface when accessed via a reverse proxy with TLS. In air-gapped mode, use SSH port forwarding or disable the webserver to see the QR code in logs.
More in Notifications
naaradNaarad is a self-hosted ntfy.sh instance for IIT Kharagpur community with Heimdall auth, message caching, attachments, web push, and iOS notifications via Docker Compose.
nitropingNitroPing is a self-hosted, open-core feedback platform for product teams to collect and manage user feedback across web, iOS, and Android apps.
NotifiarrSelf-hosted notification agent that connects *Arr apps, Plex, Jellyfin, and other services to Discord with rich formatting, health checks, and media request automation.
notifkitSelf-hosted notification engine sending across channels with user preferences, timing rules, retries, fallback, scheduling, workflows, dashboard, and delivery tracking.
NotifoOpen-source, self-hosted notification service with a REST API and management UI that fans events out over email, SMS, mobile push, web push and webhooks.
NovuOne self-hosted API for product notifications and AI-agent conversations: drives in-app, push, SMS, email, and chat delivery; open-source core, MIT-licensed.
ntfySelf-hosted push notification service sending alerts to phones/desktops via HTTP PUT/POST with priorities, attachments, and action buttons.
ObicoObico Server is the self-hostable backend of the open-source Obico 3D printing platform: remote monitoring, streaming and AI failure detection for OctoPrint/Klipper.
OctoboxOpen-source, self-hosted notification inbox for GitHub: archive, star, mute and filter threads, with Gmail-style keyboard shortcuts, search prefixes and a REST API.
OperationalSelf-hosted event tracking tool for tech products that sends push notifications for critical events like signups, cronjobs, and webhooks.
Operational.coOperational - open-source tool to track important events and receive push notifications on your device.
prom-alertmanagerOpen-source Prometheus alert hub: deduplicates, groups, routes and silences alerts to Slack, PagerDuty, email or webhooks; self-hosted with a Docker image or binaries.
0 comments