Skip to content

dheidemann/teas

Repository files navigation

Logo

Teas

The tea to your CUPS installation.
Something the whole internet apparently misses on... Here is a dead simple printing frontend for CUPS.

Report Bug · Request Feature

screenshot

Deployment via docker-compose

services:
  teas:
    image: ghcr.io/dheidemann/teas:latest
    ports:
      - 8080:3000
    environment:
      CUPS_SERVER: <your cups server>

Env vars

Required Key Description Example
x CUPS_SERVER Per default on port 631 example.de:631
METRICS_API_KEY If set enables the /api/metrics endpoint supersecretapikey

Metrics

When enabled, teas exposes metrics regarding the printing activity. To label them by username or similar identifier, the API awaits a Remote-User header. The project root holds a Grafana sample dashboard. The prometheus target should look something like this:

- job_name: teas
    metrics_path: '/api/metrics'
    scrape_interval: 5s
    scheme: 'https'
    static_configs:
      - targets: ['print.example.de']
    authorization:
      type: Bearer
      credentials: "YOUR_METRICS_API_KEY_HERE"
Name Type Description Labels
pages_printed_total Counter Total number of pages printed by user. username
pages_last_print_timestamp_seconds Gauge Unix timestamp of last print by user. username
print_jobs_total Counter Total number of print jobs per user and status. username, status
print_job_pages Histogram Distribution of pages per print job. username