mirror of
https://github.com/crazy-max/diun.git
synced 2026-01-03 11:35:02 +01:00
97 lines
2.3 KiB
Markdown
97 lines
2.3 KiB
Markdown
# Getting started
|
|
|
|
* [Diun CLI](#diun-cli)
|
|
* [Run with the Docker provider](#run-with-the-docker-provider)
|
|
|
|
## Diun CLI
|
|
|
|
```
|
|
$ ./diun --help
|
|
Usage: diun
|
|
|
|
Docker image update notifier. More info: https://github.com/crazy-max/diun
|
|
|
|
Flags:
|
|
--help Show context-sensitive help.
|
|
--version
|
|
--config=STRING Diun configuration file ($CONFIG).
|
|
--timezone="UTC" Timezone assigned to Diun ($TZ).
|
|
--log-level="info" Set log level ($LOG_LEVEL).
|
|
--log-json Enable JSON logging output ($LOG_JSON).
|
|
--log-caller Add file:line of the caller to log output ($LOG_CALLER).
|
|
--test-notif Test notification settings.
|
|
```
|
|
|
|
Following environment variables can be used in place of flags:
|
|
|
|
* `CONFIG`: Diun configuration file
|
|
* `TZ`: Timezone assigned (default `UTC`)
|
|
* `LOG_LEVEL`: Log level output (default `info`)
|
|
* `LOG_JSON`: Enable JSON logging output (default `false`)
|
|
* `LOG_CALLER`: Enable to add `file:line` of the caller (default `false`)
|
|
|
|
## Run with the Docker provider
|
|
|
|
Create a `docker-compose.yml` file that uses the official Diun image:
|
|
|
|
```yaml
|
|
version: "3.5"
|
|
|
|
services:
|
|
diun:
|
|
image: crazymax/diun:latest
|
|
volumes:
|
|
- "./data:/data"
|
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
environment:
|
|
- "TZ=Europe/Paris"
|
|
- "LOG_LEVEL=info"
|
|
- "LOG_JSON=false"
|
|
- "DIUN_WATCH_WORKERS=20"
|
|
- "DIUN_WATCH_SCHEDULE=*/30 * * * *"
|
|
- "DIUN_PROVIDERS_DOCKER=true"
|
|
- "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true"
|
|
restart: always
|
|
```
|
|
|
|
Here we use a minimal configuration to analyze **all running containers** (watch by default enabled) of your **local Docker** instance **every 30 minutes**.
|
|
|
|
That's it. Now you can launch Diun with the following command:
|
|
|
|
```shell
|
|
$ docker-compose up -d
|
|
```
|
|
|
|
If you prefer to rely on the configuration file instead of environment variables:
|
|
|
|
```yaml
|
|
version: "3.5"
|
|
|
|
services:
|
|
diun:
|
|
image: crazymax/diun:latest
|
|
volumes:
|
|
- "./data:/data"
|
|
- "./diun.yml:/diun.yml:ro"
|
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
environment:
|
|
- "CONFIG=/diun.yml"
|
|
- "TZ=Europe/Paris"
|
|
- "LOG_LEVEL=info"
|
|
- "LOG_JSON=false"
|
|
restart: always
|
|
```
|
|
|
|
```yaml
|
|
# ./diun.yml
|
|
|
|
watch:
|
|
workers: 20
|
|
schedule: "*/30 * * * *"
|
|
firstCheckNotif: false
|
|
|
|
providers:
|
|
docker:
|
|
watchByDefault: true
|
|
```
|