Skip to content

hansmi/prometheus-paperless-exporter

Repository files navigation

Paperless-ngx metrics for Prometheus

Latest release Release workflow CI workflow Go reference

This repository hosts a Prometheus metrics exporter for Paperless-ngx, a document management system transforming physical documents into a searchable online archive. The exporter relies on Paperless' REST API.

An implementation using the API was chosen to provide the same perspective as web browsers.

Usage

prometheus-paperless-exporter listens on TCP port 8081 by default. To listen on another address use the -web.listen-address flag (e.g. -web.listen-address=127.0.0.1:3000).

TLS and HTTP basic authentication is supported through the Prometheus exporter toolkit. A configuration file can be passed to the -web.config flag (documentation).

See the --help output for more flags.

Permissions

Since late 2023 Paperless-ngx supports object permissions. The metrics user requires view permissions on the following types:

  • Admin
    • Required for log analysis.
    • Starting with version 2.8 there is no distinction between different access modes (paperless-ngx#6380).
  • Correspondent
  • Document
  • DocumentType
  • PaperlessTask
  • StoragePath
  • Tag

Installation

Pre-built binaries are provided for all releases:

  • Binary archives (.tar.gz)
  • Debian/Ubuntu (.deb)
  • RHEL/Fedora (.rpm)
  • Microsoft Windows (.zip)

Docker images via GitHub's container registry:

docker pull ghcr.io/hansmi/prometheus-paperless-exporter

With the source being available it's also possible to produce custom builds directly using Go or GoReleaser.

Docker Compose

An example configuration for Docker Compose is available in contrib/docker-compose:

env --chdir contrib/docker-compose docker-compose up