Update docker stacks when newer images are available in the configured registries
Go to file
Chris 66abd9d3c5 Updated readme 2022-03-10 02:32:47 +01:00
bin Refactoring and cleanup 2022-03-09 01:09:28 +01:00
src Bugfixes, added tools 2022-03-10 02:27:25 +01:00
tools Bugfixes, added tools 2022-03-10 02:27:25 +01:00
.gitignore Refactoring and cleanup 2022-03-09 01:09:28 +01:00
README.md Updated readme 2022-03-10 02:32:47 +01:00
composer.json Initial commit 2022-03-07 22:45:54 +01:00

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 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.