A self-hostable, end-to-end encrypted relay that deploys to Cloudflare Workers, letting a phone reach a local desktop port without exposing it.
yetone/alma-relay
Self-hostable relay that lets the Alma desktop app be controlled from the Alma phone app over an outbound connection, without port forwarding or a VPN.
- Stars
- 471
- Forks
- 64
- Open issues
- 0
- Last commit
- 5 days ago
What is it?
Alma Relay is a self-hosted relay for Alma Remote Access. The desktop app dials out to the relay and keeps the connection open, and the phone sends its requests to the relay, which forwards them through that connection to the desktop. HTTP, streaming (SSE) and WebSocket traffic are all passed through, so you can reach your desktop from anywhere without opening inbound ports or running a VPN.
With end-to-end encryption enabled (the default for new pairings), the relay only handles ciphertext: the phone and desktop perform an ECDH handshake and derive an AES-256-GCM session, and the relay stores nothing on disk. It can run as a Cloudflare Worker with Durable Objects on the free plan, as a Docker Compose stack with automatic HTTPS via Caddy, or as a plain Node process behind your own reverse proxy.
Optional settings include a registration key or per-user signed tokens to limit who can use the relay, TURN credentials for live browser view over WebRTC, and APNs keys for phone notifications.
Key features
- 01Forwards HTTP, SSE streaming and WebSocket traffic from phone to desktop.
- 02Desktop connects outbound, so no port forwarding or VPN is needed.
- 03End-to-end encryption with AES-256-GCM sessions; the relay sees only ciphertext.
- 04Runs on Cloudflare Workers free plan, Docker with automatic HTTPS, or plain Node.
- 05Optional access control via a shared registration key or per-user JWT tokens.
Use cases
- Controlling your home desktop Alma from your phone while away.
- Running a relay in a region closer to you or on infrastructure you control.
- Sharing one relay with a team while revoking access for individual members.
- Operating Alma Remote Access without depending on the hosted relay.
Quick start
- 1
Clone the repository
git clone https://github.com/yetone/alma-relay && cd alma-relay - 2
Install dependencies
npm install - 3
Deploy to Cloudflare Workers (free plan)
npx wrangler deploy - 4
Or run the Node edition locally on port 8787
npm start
Things to know
- Self-hosted relay cannot send phone notifications to the official Alma iOS app.
- Setting up TURN for the live browser view requires extra configuration and open firewall ports.
- Desktop must run Alma 0.4.329 or later for full end-to-end protection.
In collections
Topics
FAQ
- What is alma-relay?
- Self-hostable relay that lets the Alma desktop app be controlled from the Alma phone app over an outbound connection, without port forwarding or a VPN. Alma Relay is a self-hosted relay for Alma Remote Access. The desktop app dials out to the relay and keeps the connection open, and the phone sends its requests to the relay, which forwards them through that connection to the desktop. HTTP, streaming (SSE) and WebSocket traffic are all passed through, so you can reach your desktop from anywhere without opening inbound ports or running a VPN.
- Is alma-relay free to use? What license does it have?
- alma-relay is open source under the MIT license. Check the license terms before using it in commercial products.
- Is alma-relay still maintained?
- Actively maintained. The last commit to alma-relay was on Nov 2, 2026.
- What can I use alma-relay for?
- Controlling your home desktop Alma from your phone while away. Running a relay in a region closer to you or on infrastructure you control. Sharing one relay with a team while revoking access for individual members. Operating Alma Remote Access without depending on the hosted relay.
- How do I install alma-relay?
- Clone the repository: git clone https://github.com/yetone/alma-relay && cd alma-relay Install dependencies: npm install Deploy to Cloudflare Workers (free plan): npx wrangler deploy Or run the Node edition locally on port 8787: npm start
- Where can I get alma-relay?
- The source code and installation instructions are on GitHub: https://github.com/yetone/alma-relay
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A CLI tool that sends files and folders between any two computers, peer-to-peer with relay fallback and end-to-end encryption via a shared code phrase.
Self-hosted, end-to-end encrypted temporary file sharing that runs on your own Cloudflare Workers, D1 and R2 account.
Peer-to-peer, end-to-end encrypted private network that reaches your own LAN machines and services from anywhere, with no port forwarding or public URLs.
Self-hosted team chat running on Cloudflare Workers, with realtime messaging, a two-way Telegram bridge, and server-side encrypted messages and files.
A free, self-hosted multi-server monitoring dashboard that runs on Cloudflare Workers, D1 and Durable Objects, with real-time metrics and offline alerts.