/immich-exporter

Export your Immich stats to your prometheus instance

Primary LanguageGoMIT LicenseMIT

immich-exporter

Publish Release Build Test

 

This app is a Prometheus exporter for immich.
This app is made to be integrated with the immich-grafana-dashboard

Run it

Create an API key in your Immich settings and set IMMICH_API_KEY to is value.

docker run --name=immich-exporter \
    -e IMMICH_BASE_URL=http://192.168.1.10:8080 \
    -e IMMICH_API_KEY=<your_api_key> \
    -p 8090:8090 \
    ghcr.io/martabal/immich-exporter

Docker-compose

version: "2.1"
services:
  immich:
    image: ghcr.io/martabal/immich-exporter:latest
    container_name: immich-exporter
    environment:
      - IMMICH_BASE_URL=http://192.168.1.10:8080
      - IMMICH_API_KEY=<your_api_key>
    ports:
      - 8090:8090
    restart: unless-stopped

Without docker

git clone https://github.com/martabal/immich-exporter.git
cd immich-exporter/
go get -d -v
cd src
go build -o ./immich-exporter
./immich-exporter

If you want to use an .env file, edit .env.example to match your setup, rename it .env then run it with :

./immich-exporter -e

Parameters

Environment variables

Parameters Function
-p 8090 Webservice port
-e IMMICH_BASE_URL Immich base URL
-e IMMICH_API_KEY Immich API key
-e EXPORTER_PORT qbittorrent export port (optional)
-e LOG_LEVEL App log level (TRACE, DEBUG, INFO, WARN and ERROR)

Arguments

Arguments Function
-e If qbittorrent-exporter detects a .env file in the same directory, the values in the .env will be used, -e forces the usage of environment variables

Setup

Add the target to your scrape_configs in your prometheus.yml file of your Prometheus instance.

scrape_configs:
  - job_name: 'immich'
    static_configs:
      - targets: [ '<your_ip_address>:8090' ]