new version checker (nvchecker) notifies you by email if a new version of software is released
4.1K
new version checker (nvchecker) checks whether a new version of a software has been released and then notifies you by e-mail.
The nvchecker e-mail Docker image is based on Alpine Linux, cron and nvchecker.
The image is automatically rebuilt when the alpine (latest) Official Docker Image receives an update.
Here are some example snippets to help you get started creating a container.
Compatible with docker-compose v2 schemas.
version: "2.1"
services:
nvchecker-email:
image: lapicidae/nvchecker-email:latest
container_name: nvchecker-email
environment:
- TZ=Europe/London
volumes:
- /path/to/config:/nvchecker
restart: unless-stopped
docker run -d \
--name=nvchecker-email \
-e TZ=Europe/London \
-v /path/to/config:/nvchecker \
--restart unless-stopped \
lapicidae/nvchecker-email:latest
Container images are configured using parameters passed at runtime.
| Parameter | Default | Function |
|---|---|---|
-e PUID=1000 | 1000 | for UserID - see below for explanation |
-e PGID=1000 | 1000 | for GroupID - see below for explanation |
-e TZ=Europe/London | UTC | Specify a timezone to use (e.g. Europe/London) |
-e NVCHECKER_UPDATE=false | true | Mark all versions as updated after successfully sending the e-mail (nvtake --all) |
-e CRON_SCHEDULE='0 6 * * *' | '0 1 * * *' | crontab schedule (examples) |
-e APK_ADD=’7zip,curl,httpie’ | --- | Comma-separated list of additional packages to be installed |
-e CRON_HUMAN=false | true | deactivate the human-readable output of the crontab schedule at the beginning of the log |
-v /nvchecker | Configuration files directory |
When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance PUID=1234 and PGID=4321, to find yours use id user as below:
$ id username
uid=1234(dockeruser) gid=4321(dockergroup) groups=4321(dockergroup)
The software version source file /nvchecker/nvchecker.toml is in toml format. The key name is the name of the software. Following fields are used to tell nvchecker how to determine the current version of that software.
See sample_source.toml for an example.
For more information, please read the documentation.
The e-mail functionality is realised by the Python module smtplib. The e-mail settings are configured centrally in the file /nvchecker/email.toml.
| Value | Default | Description |
|---|---|---|
| [SMTP] | ||
| host | Domain name of SMTP service | |
| port | 25 | If port is zero, the default port is used |
| ssl | false | Secured by SSL or TLS (default port 465) |
| starttls | false | Opportunistic TLS (default port 25) |
| timeout | 15 | Timeout in seconds |
| [AUTH] | ||
| user | User name | |
| password | Password | |
| [ADDR] | ||
| from | E-mail address of the sender | |
| to | E-mail address of the recipient |
[SMTP]
host = 'smtp.gmail.com'
port = 587
starttls = true
[AUTH]
user = '[email protected]'
password = 'pAsSwOrD' # use https://myaccount.google.com/lesssecureapps
[ADDR]
from = '[email protected]'
to = '[email protected]' # you can append a plus ("+") sign and any combination of words or numbers after your email address.
Send an e-mail to test your configuration.
## already running container
# docker exec -it [container-name] nvchecker-email --testmail
docker exec -it nvchecker-email nvchecker-email --testmail
# start new container
docker run -it --rm -v "/path/to/config:/nvchecker" lapicidae/nvchecker-email:latest /bin/bash -c 'nvchecker-email --testmail'
Take a look at crontab guru for help with for cron schedule expression.
Content type
Image
Digest
sha256:39fad8e42…
Size
35.9 MB
Last updated
about 18 hours ago
docker pull lapicidae/nvchecker-email