https://github.com/ryanfb/docker_diffengine
Dockerfile for diffengine
https://github.com/ryanfb/docker_diffengine
Last synced: 11 months ago
JSON representation
Dockerfile for diffengine
- Host: GitHub
- URL: https://github.com/ryanfb/docker_diffengine
- Owner: ryanfb
- License: mit
- Created: 2018-09-12T19:52:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-27T15:05:28.000Z (almost 7 years ago)
- Last Synced: 2024-11-24T20:39:19.324Z (over 1 year ago)
- Language: Shell
- Homepage: https://hub.docker.com/r/ryanfb/diffengine
- Size: 16.6 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# docker_diffengine
## Supported Tags
* `latest`: x86
* `arm64v8`: compatible with Raspberry Pi 4 64-bit builds
* `arm32v7`: compatible with Raspberry Pi 2, 3, & 4 32-bit builds
* `arm32v5`: compatible with Raspberry Pi 1, 2, 3, & 4 32-bit builds
## Description
This is a Docker image for running [`diffengine`](https://github.com/docnow/diffengine) instances.
It uses a `cron` job set to run `run-diffengine.sh` every minute - this script in turn uses `flock` and `timeout` to obtain an exclusive lock and only run diffengine for the time specified by the `DIFFENGINE_TIMEOUT` environment variable (default `1h` = 1 hour). Basically this ensures there will always be one (and only one) `diffengine` instance running per container, with each `diffengine` instance running no longer than `DIFFENGINE_TIMEOUT`.
It uses a host-mapped data volume at `/diffengine` to store and persist the `diffengine` configuration and data.
PhantomJS should be installed and available at `/usr/local/bin/phantomjs`.
Run the initial configuration with:
docker run -ti -v /path/to/diffengine/directory:/diffengine ryanfb/diffengine diffengine /diffengine
Run a configured instance as a daemon with the following (or change `-d` back to `-ti` for an interactive run):
docker run -d -v /path/to/diffengine/directory:/diffengine ryanfb/diffengine
Or override `DIFFENGINE_TIMEOUT` with e.g.:
docker run -d -v /path/to/diffengine/directory:/diffengine -e DIFFENGINE_TIMEOUT=2h ryanfb/diffengine
You can also set the `CRON_SCHEDULE` environment variable to specify a custom [cron schedule expression](https://crontab.guru/) for how frequently you want `diffengine` to be run (default: `* * * * *`, i.e. every minute).