# Fresh: Keeping your docker stacks up to date Fresh was written to scratch an itch. It works by querying the respective repositories returning ## Building Build using NoccyLabs Pharlite: $ tools/pharlite ## Installing Download the latest version (or build it yourself) and move it into `/usr/bin`. ## Usage To check for updates, pull updated images and recreate any containers defined in the `docker-compose.yml` in the current directory: $ fresh.phar For all available options, use the `--help` flag. ## Known Issues - There is currently no way to update the state when manually updating using the `--check` flag. - Only checks authenticated registries for new versions. But if you are using this you probably aren't using DockerHub anyway. ## FAQ - **How does Fresh remember the last seen hash?** The container hashes are stored in the same directory as the `docker-compose.yml` file in a file named `fresh.yml`. Remove this file to force trigger an update. - **What are these hashes?** Fresh grabs the manifest for the image from the registry and proceeds to hash a concatenation of all the various build layer hashes. This should mean if the image is new but the layers are the same nothing will be updated. ## Changes **0.1.1** - Moved the logic from the entrypoint script to its own class. - Added locking (though `fresh.lock` lockfile) to prevent multiple instances. - Added `--after` hook to invoke script after update. - Disabled automatic flushing of the state to disk; --check will no longer update the state file, but --pull and default update will. **0.1.2** - Fixed a bug in lockfile class preventing release of stale lockfile. - The `--image` option finally works. - Added a `--write-state`/`-w` option to write updated hashes to the state file. - Implemented `--config` and `--config-type`options.