Christopher Vagnetoft
e77e61d0b0
* Implemented the --image option * Implemented the --write-state option to go with --check * Fixed bug in Lockfile class
1.8 KiB
1.8 KiB
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.
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.