09-lubelogger.md
kstack: book: Centerpoint Home Lab chapter: Documents & Organization page: LubeLogger tags: [lubelogger, vehicles, maintenance, postgres]
Overview
emptyLubeLogger is a vehicle maintenance and fuel log tracker. It stores service
records, oil changes, tyre rotations, fuel fill-ups, and other vehicle events.
External-only route with GeoBlock and CrowdSec — no internal home.local route.
Authentication is LubeLogger's own built-in user system. Backend is PostgreSQL 16.
Access
https://logger.jeeves5454.ddns.net
GeoBlock + CrowdSec (own auth)
No internal route configured.
Containers
lubelogger
ghcr.io/hargata/lubelogger:latest
Web application
lubelogger-db
postgres:16
PostgreSQL database
lubelogger (application)
Image: ghcr.io/hargata/lubelogger:latest
Runtime: .NET 10.0.8 (ASP.NET Core)
Key environment variables:
POSTGRES_CONNECTION
REDACTED (includes password)
ASPNETCORE_HTTP_PORTS
8080
LC_ALL / LANG
en_US.UTF-8
Bind mounts:
/home/jeeves/docker/lubelogger/data
/App/data
App data and uploads
/home/jeeves/docker/lubelogger/keys
/root/.aspnet/DataProtection-Keys
ASP.NET data protection keys
lubelogger-db (PostgreSQL 16)
Image: postgres:16
POSTGRES_USER
lubelogger
POSTGRES_DB
lubelogger
POSTGRES_PASSWORD
REDACTED
Bind mounts:
/home/jeeves/docker/lubelogger/db
/var/lib/postgresql/data
Traefik Labels
traefik.http.routers.lubelogger.rule: Host(`logger.jeeves5454.ddns.net`)
traefik.http.routers.lubelogger.entrypoints: websecure
traefik.http.routers.lubelogger.tls.certresolver: letsencrypt
traefik.http.routers.lubelogger.middlewares: plex-geoblock@file,crowdsec-bouncer@file,lubelogger-headers
traefik.http.middlewares.lubelogger-headers.headers.customrequestheaders.X-Forwarded-Proto: https
traefik.docker.network: traefik-net
traefik.http.services.lubelogger.loadbalancer.server.port: 8080
Notes / Gotchas
POSTGRES_CONNECTION in the container environment contains the database
password in plaintext — treat this as sensitive and avoid logging the
environment of this container.
The DataProtection-Keys bind mount (/lubelogger/keys) must persist across
container restarts. If it is lost, all active user sessions will be
invalidated and users will need to log in again.
The X-Forwarded-Proto: https middleware is required for ASP.NET Core to
correctly identify requests as HTTPS when behind a reverse proxy.
Last Updated: 2026-06-17