fresh/README.md
Christopher Vagnetoft e77e61d0b0 Bugfixes and improvements
* Implemented the --image option
* Implemented the --write-state option to go with --check
* Fixed bug in Lockfile class
2022-03-11 01:55:35 +01:00

57 lines
1.8 KiB
Markdown

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