HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mutagen-io
mutagen
Go2019–2022
mutagen-io / mutagen

mutagen

Fast file synchronization and network forwarding for remote development

6Distinct people
9Mentions
0Explicit recommenders
4.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Fast file synchronization and network forwarding for remote development

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year9 dated mentions

Observed mentions: 2019-02-07 00:23:00 UTC to 2022-12-07 16:55:42 UTC.

012342019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC413
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC110
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC422

What Hacker News says

9 sources
xenoscopic·Dec 7, 2022Submission

Show HN: Improve Docker Desktop Performance with Synchronized Filesystem Caches

Hey HN, I wanted to share a Docker Desktop extension that uses Mutagen (the open-source[0] file sync tool for developers) to improve bind mount performance in Docker Desktop. It allows you to create synchronized filesystem caches inside the Docker Desktop VM that can automatically replace bind mounts. This gives you ext4 filesystem performance inside the Docker Desktop VM, with low-latency synchronization to-and-from the host filesystem. Docker themselves actually shipped this functionality in Docker Desktop back in 2020, but they decided to pivot back to virtual filesystems with gRPC FUSE and Virtiofs. While these work fairly well, there are still substantial gains to be had for workflows that are readdir(), stat(), read(), and write()-heavy. This includes things like package installs (e.g. npm and Composer), dynamic language runtimes (e
Read the rest
.g. PHP or Node.js), and compiling code. This new implementation is significantly more performant[1], offers a more detailed UI, and gives you the option of setting the user and group IDs for files sync'd into the VM. You can even create multiple caches of the same files with different UIDs/GIDs, allowing containers with different UIDs/GIDs to access the same files without permissions conflicts. This extension is closed-source and requires a subscription for some functionality, but that money helps to support the corresponding open-source project. I'd be keen to hear your feedback. There are a few minor limitations (mostly SDK limitations), but nothing too significant. The next step is probably going to be adding support for remote Docker engines, but I'd be interested to know if there are other pressing features that people would like to see. Disclaimer: I am a Docker Captain, though this tool is not developed, sponsored, or endorsed by Docker, Inc. --- [0]: https://github.com/mutagen-io/mutagen [1]: The Docker Desktop EULA prevents me from publishing benchmarks, but the performance difference will be the same as the difference between gRPC FUSE or Virtiofs and a "native" ext4 volume inside the VM. This will differ between hardware and virtualization frameworks. The best option is testing your own workflow.
5 points · Open discussion
I can't predict ultra far into the future (who can these days... :|), but Mutagen has been under active development for about 6 years now[0]. At the moment I have enough funding to work on it full-time until at least the middle of next year, though I also do Mutagen-related contracting and consulting work to support the project. Mutagen's Docker Desktop extension is going to be a freemium product designed to support the project more directly, which will hopefully allow development to continue indefinitely. [0]: https://github.com/mutagen-io/mutagen/graphs/contributors
In Fast file synchronization and network forwarding for remote development
The synchronization uses a repeated three-way merge algorithm, very similar to Git's merge when merging branches. It is triggered by recursive filesystem watching, which is also used to accelerate filesystem rescans. It maintains a virtual most-recent-ancestor and uses the two synchronization endpoints as the "branches" being merged. Much like Git has "-X ours" and "-X theirs" options, Mutagen also has automated conflict resolution[0] modes that can be specified. You can find the reconciliation algorithm here[1] (and there are an exhaustive set of test cases in the corresponding _test.go file). To avoid a large class of race conditions (at least to the extent possible allowed by POSIX and Windows), Mutagen will use `*at` style system calls for all filesystem traversal on POSIX systems, with a similar strategy on Windows. Also, to avoid ra
Read the rest
ce conditions due to filesystem changes between scan time and change-application time, Mutagen will perform just-in-time checks that filesystem contents haven't changed from what was fed into the reconciliation algorithm. [0]: https://mutagen.io/documentation/synchronization#modes [1]: https://github.com/mutagen-io/mutagen/blob/master/pkg/synchr...
In Fast file synchronization and network forwarding for remote development
I've been working on a spiritual successor to Unison for a few years called Mutagen [1]. It aims to provide more flexible synchronization and tighter integration with filesystem watching, enabling ~real-time remote editing with your local editor of choice. It also adds SSH-style network forwarding, so you can forward network traffic to/from remote systems to access remote applications without exposing ports. It currently supports SSH and Docker containers, but additional transports are coming. I'd be really happy to receive feedback if you have a chance to try it out! [1] https://github.com/mutagen-io/mutagen
In Unison File Synchronizer
Unlikely. 1. I no longer work at Airbnb, so I can't help you there. 2. The wrapper is somewhat deeply embedded in the dev tools swiss army knife, and is written in Ruby, so (a) it's difficult to extract since its tied with other Airbnb specific concerns and support libraries, and (b) distributing perf-sensitive Ruby code to end-users is challenging so you might not want it anyways. You might want to take a look at Mutagen, a unison replacement written in Go which seems to avoid most of what makes Unison annoying to work with. I haven't tested it, though, so I can't vouch for it. https://github.com/havoc-io/mutagen
In Virtio-fs: shared file system for virtual machines

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.