https://github.com/hansmi/prometheus-paperless-exporter
Paperless-ngx metrics for Prometheus
https://github.com/hansmi/prometheus-paperless-exporter
metrics monitoring paperless paperless-ngx prometheus-exporter
Last synced: 3 months ago
JSON representation
Paperless-ngx metrics for Prometheus
- Host: GitHub
- URL: https://github.com/hansmi/prometheus-paperless-exporter
- Owner: hansmi
- License: bsd-3-clause
- Created: 2023-07-02T22:13:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-01T18:44:17.000Z (4 months ago)
- Last Synced: 2025-07-01T19:39:34.910Z (4 months ago)
- Topics: metrics, monitoring, paperless, paperless-ngx, prometheus-exporter
- Language: Go
- Homepage:
- Size: 101 KB
- Stars: 49
- Watchers: 1
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Paperless-ngx metrics for Prometheus
[][releases]
[](https://github.com/hansmi/prometheus-paperless-exporter/actions/workflows/release.yaml)
[](https://github.com/hansmi/prometheus-paperless-exporter/actions/workflows/ci.yaml)
[](https://pkg.go.dev/github.com/hansmi/prometheus-paperless-exporter)This repository hosts a Prometheus metrics exporter for
[Paperless-ngx][paperless], a document management system transforming physical
documents into a searchable online archive. The exporter relies on [Paperless'
REST API][paperless-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][toolkit]. A configuration file can be passed to the `-web.config` flag
([documentation][toolkitconfig]).See the `--help` output for more flags.
## Permissions
The metrics user requires [_view_ permissions][paperless-permissions] on the
following object types:* Admin
* Required for log analysis.
* Starting with version 2.8 there is no distinction between different access
modes ([paperless-ngx#6380](https://github.com/paperless-ngx/paperless-ngx/pull/6380)).
* Correspondent
* Document
* DocumentType
* Group
* PaperlessTask
* StoragePath
* Tag
* User## Installation
Pre-built binaries are provided for [all releases][releases]:
* Binary archives (`.tar.gz`)
* Debian/Ubuntu (`.deb`)
* RHEL/Fedora (`.rpm`)
* Microsoft Windows (`.zip`)Docker images via GitHub's container registry. The image supports Linux/AMD64
and Linux/ARM64.```shell
docker pull ghcr.io/hansmi/prometheus-paperless-exporter
```It's also possible to produce custom builds directly using [Go][golang] or
[GoReleaser][goreleaser].### Docker Compose
An example configuration for [Docker Compose][dockercompose] is available in
`contrib/docker-compose`:```shell
env --chdir contrib/docker-compose docker-compose up
```[dockercompose]: https://docs.docker.com/compose/
[golang]: https://golang.org/
[goreleaser]: https://goreleaser.com/
[paperless-api]: https://docs.paperless-ngx.com/api/
[paperless]: https://docs.paperless-ngx.com/
[paperless-permissions]: https://docs.paperless-ngx.com/usage/#permissions
[releases]: https://github.com/hansmi/prometheus-paperless-exporter/releases/latest
[toolkit]: https://github.com/prometheus/exporter-toolkit
[toolkitconfig]: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md