This is legacy/deprecated. Newer changelogs are now part of the releases. See



This release has no breaking changes, so it is a drop-in-replacement for 0.4.6 without migration.

  • Integrations tests - huge credits to @michaelbaudino
  • FreeBSD support
  • print sync time so you can see potential stalls earlier #431
  • be able to set max_attempt in global configuration #403
  • added support for d4m edge #478
  • added diagram to explain how native_osx works #465
  • upgraded terminal-notifier to 2.0.0 #486
  • upgraded docker-compose gem to 1.1 #486
  • upgraded thor to 0.20 #486
  • default ip detection fixed
  • fix several typos and docs #432 #409 #404 #396
  • fix exceptions thrown #406
  • unison mount destination #433
  • fix issues with spaces in folder / paths when using unison #426

Special thanks to @michaelbaudino who has done a incredible job


  • Fixed Issue introduced with 0.4.5: #367

Nothing else - most probably the last 0.4.x release.


See for the bugfixes

Windows and Linux support now got documented and the documentation has been made more cross-platform.

Mot probably last 0.4.x maintenance release - with 0.5.x a rewrite of the Config/Dependency/Env/Os handling is supercharged by @michaelbaudino. This will help improving the overall quality of the codebase and reduce the clusterfuck when we do cross-platform implementation / splits. Be tensed.





  • Finally removed any support of `dest` which has been deprecated since 0.2.x.
  • Linux support: docker-sync can now also be used under Linux, were it does a fallback to native volume mounts automatically.
  • Introducing auto-guessing of the sync_host_ip for simultaneous usage of the same docker-sync.yml using d4m, docker-toolbox and others. Just set sync_host_ip: 'auto'
  • Fixed spaces in ./src lead to issues with unison
  • Fixed various issues with the installation of 0.3.x
  • Fixed issues with the new configuration model
  • Overall making docker-sync more robust and verbose if things are not as intended
  • More at

0.3.1 - 0.3.5

  • Bugfixes


  • You can now chose the dotenv file to be used by docker-sync using setting DOCKER_SYNC_ENV_FILE
  • The configuration has been rewritten, huge thank you to @ignatiusreza for his effort. This was done to support better scaffolding ( inline configuration loading ), prepare linux support ( or windows cygwin ) and to simplify the code / reduce its madness factor
  • The precondition checks have been reworked to be simpler and more convinient
  • Unox has now been packaged using brew, which makes the installation of unox/unison easier
  • Unox has been upgrading to use watchdog instead of macfsevents, which should improve performance
  • Several installation issues have been fixed
  • Stopping docker-sync now runs synchronously, avoiding accidental race conditions

Thank you a lot for the contributions guys, a lot of team effort in this release!



  • You can now start docker-sync in daemon mode docker-sync-daemon. See Daemon mode.
  • The default sync strategy is now unison, no longer rsync. Check Upgrade.
  • Unison sync now starts slightly faster
  • New default setting for --prefer: --prefer <src> --copyonconflict. Check Upgrade.
  • Detection of macfsevents installation including some edge cases does properly work now #243.
  • You can now run docker-sync start --version to see your version
  • You can now use spaces in the src/dest path #211.
  • unison:onesideded sync has been entirely removed. Check Upgrade.
  • sync_user option has been removed (use sync_userid only), since it only spread confusion. Check Upgrade.
  • Better way of mounting sync-volumes. Check Upgrade.
  • sync_exclude ‘type’ for unison is now Name, not Path by default. Check Upgrade.
  • You can now use environment variables in your docker-sync.yml using dotenv. See Environment variables support.
  • unison using --testserver now to avoid startup issues and also speedup the startup
  • Check for updates only for the actually strategy picked, not all
  • Add support for --abort-on-container-exit for docker-compose #163.
  • To share more code and features between the rsync / unison images, we aligned those images to share the same codebase, thus they have been renamed. The ENV variables are changed and some things you should not even notice, since it is all handled by docker-sync. Check Upgrade.
  • Fix dynamic port detection with unison / make it more robust #247.
  • New and more robust unison/rsync images



  • Small bugfixes





  • docker-compose-dev.yml make docker-compose.yml portable
  • By moving all changes initially made to your docker-compose.yml into docker-compose-dev.yml, your production docker-compose.yml stays portable #41
  • Fixing a bug when docker-sync / docker-sync-stack has been symlinked #44 by mickaelperrin


  • Unison slim image, docker-compose path and fswatch disabling
  • You can no configure were you docker-compose file is located at. See Configuration.
  • You can now disable the filewatcher using watch_strategy. See Configuration.
  • docker-compose gem is now part of the gem
  • gem / lib was re-layouted to fit the library usage better
  • tons of requires have been fixed for the script usage. See Scripting.
  • A alpine based, slim unison image was created by onnimonni. Thank you!
  • You can now customize which unison/rsync image you want to use (experts only please!)


  • docker-sync-stack is here
  • You can now start sync and docker-compose in one go - See Sync stack commands (docker-sync-stack).
  • rsync image is now checked for update ability to avoid issues with outdated images


  • Yanked, broken release


  • Adresses further unison issues, minor features
  • Missing stdout pipe and wrong color, thank you @mickaelperrin
  • More verbose outputs on unison runs with verbose,, thank you @mickaelperrin
  • Adding update-checker to ensure, that you run the newest docker-sync


  • Fix unison startup
  • Fixed issue during unison startup


  • ** Convenience / Bugfixes**
  • Add the possibility to map user/group on sync
  • Fixed container-re-usage issue
  • Add preconditions to properly detect if fswatch, unison, docker, and others are in proper state
  • Better log output
  • Do no longer enforce verbose flag
  • Remove colorize
  • Be less verbose in normal mode
  • Fixed source code mapping when using test
  • Renamed test to example


  • Critical issue in sync
  • Fixing critical issue where sync has been called using the old sync:sync syntax - not syncing at all


  • Added unison support