Sign inSign up

ozon08/loginlogbook-api

By ozon08

Updated about 1 month ago

Fullscreen login overlay API — records why users log into servers before releasing the desktop.

Image
Monitoring & observability
0

1.2K

ozon08/loginlogbook-api repository overview

LoginLogBook API

Fullscreen login overlay for Windows and Linux — records why users log into servers before releasing the desktop.

What it does

When a user logs into a server, the LoginLogBook client displays a fullscreen overlay that blocks the desktop until a login reason is selected. The reason is recorded along with timestamp, hostname, and OS user.

This image is the API backend: a FastAPI service that stores login events in InfluxDB, serves reasons, branding and client configuration, and hosts a browser admin UI at /admin (manage client tokens, reasons, branding and the interface language). The full stack adds Grafana dashboards at /grafana (operations, security, audit log). The interface is available in German (default) and English, switchable in the admin UI.

PyQt6 Client ─HTTPS─► nginx (TLS) ─┬─ /        ─► loginlogbook-api ─► InfluxDB
(per host)                         ├─ /admin    ─► admin web UI (this image)
                                   └─ /grafana  ─► Grafana dashboards ─► InfluxDB

Quick start

# 1. Clone the repo (for docker-compose.yml and nginx config)
git clone https://github.com/OZON08/LoginLogBook.git
cd LoginLogBook/loginlogbook-api

# 2. Create your .env from the example and fill in the values
cp .env.example .env

# 3. Start
docker compose up -d

Environment variables

VariableRequiredDescription
INFLUX_URLyesInfluxDB URL, e.g. http://influxdb:8086
INFLUX_TOKENyesInfluxDB admin token
INFLUX_ORGyesInfluxDB organisation name
INFLUX_BUCKETyesInfluxDB bucket name
ADMIN_TOKENyesToken for admin endpoints (/clients, /reasons)
CLIENT_TOKENyesToken accepted from client hosts
REASONS_FILEnoPath to reasons JSON (default: /data/reasons.json)
LOGO_DIRnoPath to logo directory (default: /data/logo)
CLIENTS_FILEnoPath to client store JSON (default: /data/clients.json)
SETTINGS_FILEnoPath to app settings JSON — holds the active language (default: /data/settings.json)

Tags

TagDescription
latestLatest stable release
v1, v1.0, v1.0.0Pinned release versions
devBuilt from the latest commit on main

Tag summary

Content type

Image

Digest

sha256:a3238db5d

Size

59.4 MB

Last updated

about 1 month ago

docker pull ozon08/loginlogbook-api:dev