docker-osx-dev
docker-osx-dev copied to clipboard
Support unison in addition to rsync
Unison is a file synchronizer that allows two-way sync. It should be nearly as fast as rsync and perhaps even support file watchers (e.g. inotify) just as well.
There are two difficulties:
- Unison must be installed on client and server, and it must be at the exact same version on both. It's possible to install it in a Docker image and mount that as a volume everywhere (e.g. see docker-unison), but I think it would be nicer to find a way to install Unison on the Boot2Docker image itself. Boot2Docker does have a package manager called
tce
(see docs, packages), but unison is not one of the supported packages. That means we need to either a) find a pre-built unison executable that runs on generic Linux x86_64 or b) build it from source on the Boot2Docker image as part of the install. - Unison is, in general, more complicated to configure and use than rsync. Going from one-way to two-way sync introduces complexities with what happens when the unison server DB gets stale, as well as different sets of excludes on each side of the sync.
:+1: this would be really useful!
My problem with docker-unison
is that it touches my project. You need to mount everything through it meaning that you'd surely have to maintain different compose descriptors for dev, staging and production over running OS X dev. Best way would still be something that does not directly touch the project.
:+1: would be veeeery nice!