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.

midgard logo

Self-host midgard

v0.4.0

Cross-platform clipboard sync with end-to-end encryption

BetaOpen SourceGPL-3.0
Updatedlast month
LanguageGo
Setup difficultyAdvanced
ThemeDark mode
Stars
230
Port
80 (HTTP server (WebSocket for clipboard relay))
Requires
Reverse proxy (Traefik/nginx)
Docker
ghcr.io/changkun/midgard
Install with Docker Compose
Mac app history window showing clipboard items from multiple devicesMac menu-bar popover with recent copies to put back on clipboardWeb page on iPhone showing clipboard and encrypted history

What is midgard?

midgard is a clipboard synchronization system you host yourself. Run the relay server (Docker image or static binary) on a server with a domain and TLS, then connect clients: a macOS menu-bar app, a Linux/Windows daemon, and a web interface for mobile. Every clipboard entry is encrypted with a key shared only among your devices, so the relay sees only sealed payloads and stores nothing. History stays identical across devices — the newest 200 items for 30 days, capped at 64 MB. Items or files become revocable share links. Pair new devices via QR code or one-time code. Authentication goes through auth.latere.ai with an allowlist. An optional plaintext bridge lets iPhone Shortcuts or Android Tasker participate, at the cost of server visibility. All persistent state (devices, shares, tokens) lives in a local SQLite file.

Should you self-host midgard?

midgard scores 48/100 on selfhost.directory (how scoring works) and ranks #6 of 15 in Productivity. It has 230 GitHub stars.

It shipped 3 stable releases in the past year. The latest, v0.4.0, came out on 27 September 2026.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Cal.dyi (81/100, 49 478 stars). It scores higher overall, so compare the two before you pick. See midgard vs Cal.dyi side by side.

Features

  • Android Tasker supportUnencrypted; server can read copies.
  • App tokens for headless devices
  • Command-line interface (mg)
  • Cross-platform clipboard sync
  • Device pairing via QR/code
  • End-to-end encryption
  • iPhone Shortcuts integrationUnencrypted bridge optional; server can read copies when enabled.
  • Linux/Windows daemon
  • Mac menu-bar appmacOS 14+ required.
  • Offline queue with delivery on reconnect
  • Password manager secret detection
  • Share clipboard or files as links
  • Unified clipboard history
  • Web-based clipboard access

midgard README

How to install midgard

Install midgard with Docker Compose

Docker, domain, reverse proxy with HTTPS
Environment variables
AUTH_URL, AUTH_ALLOWED_PRINCIPALS, AUTH_CLIENT_ID, AUTH_COOKIE_KEY, AUTH_REDIRECT_URL, AUTH_INSECURE_COOKIES

$ git clone https://github.com/changkun/midgard && cd midgard $ cp config.example.yml config.yml # set domain: your domain $ cp .env.template .env # set who may sign in $ make build # builds the midgard:latest image $ make up # docker compose up -d

Requires a reverse proxy (Traefik/nginx) with HTTPS and WebSocket support at /midgard path.

midgard releases & version history

More in Productivity

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…