Update docker stacks when newer images are available in the configured registries
bin | ||
src | ||
tools | ||
.gitignore | ||
composer.json | ||
README.md |
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 namedfresh.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.