Skip to content

Docker + File providers

It is possible to use several providers at the same time with Diun. This can be particularly useful if you want to analyze some images that you don't manage through a container.

In this section we quickly go over a basic Docker Compose file to run Diun using the docker and file providers.

Setup

Create a docker-compose.yml file that uses the official Diun image:

name: diun

services:
  diun:
    image: crazymax/diun:latest
    container_name: diun
    command: serve
    volumes:
      - "./data:/data"
      - "./custom-images.yml:/custom-images.yml:ro"
      - "/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=0 */6 * * *"
      - "DIUN_WATCH_JITTER=30s"
      - "DIUN_PROVIDERS_DOCKER=true"
      - "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true"
      - "DIUN_PROVIDERS_FILE_FILENAME=/custom-images.yml"
    restart: always
# /custom-images.yml
- name: ghcr.io/crazy-max/diun
- name: alpine
- name: debian:stretch-slim
- name: nginx:stable-alpine
- name: traefik
  watch_repo: true
  include_tags:
    - ^\d+\.\d+\..*

Here we use a minimal configuration to analyze all running containers (watch by default enabled) of your local Docker instance with the Docker provider and also custom images through the File provider every 6 hours.

That's it. Now you can launch Diun with the following command:

docker compose up -d

Last update: 2024-06-10 07:47:54
Created: 2020-12-11 07:25:41