MCPSERV.CLUB
LubeLogger

LubeLogger

Self-Hosted

Self‑hosted vehicle maintenance and fuel tracker

Active(100)
1.9kstars
0views
Updated 11 days ago
LubeLogger screenshot

Overview

Discover what makes LubeLogger powerful

LubeLogger is a self‑hosted, web‑based vehicle maintenance and fuel mileage tracker written in C#/.NET. It is designed to run behind a reverse proxy or as a Docker container, and exposes a RESTful API for programmatic access. The core of the application is an ASP.NET Core MVC web app that serves both a responsive UI built with Bootstrap and a JSON API for external integrations. Data persistence is handled by **LiteDB** (a lightweight, file‑based NoSQL database) for quick local deployments and by **PostgreSQL** (accessed via Npgsql) when users opt for a more robust relational store. This dual‑database strategy allows developers to choose between a zero‑dependency file‑based setup or a production‑grade relational backend without code changes.

Vehicle & Maintenance Management

Fuel Tracking

Planner & Reminders

Reporting & Analytics

Overview

LubeLogger is a self‑hosted, web‑based vehicle maintenance and fuel mileage tracker written in C#/.NET. It is designed to run behind a reverse proxy or as a Docker container, and exposes a RESTful API for programmatic access. The core of the application is an ASP.NET Core MVC web app that serves both a responsive UI built with Bootstrap and a JSON API for external integrations. Data persistence is handled by LiteDB (a lightweight, file‑based NoSQL database) for quick local deployments and by PostgreSQL (accessed via Npgsql) when users opt for a more robust relational store. This dual‑database strategy allows developers to choose between a zero‑dependency file‑based setup or a production‑grade relational backend without code changes.

Key Features

  • Vehicle & Maintenance Management – CRUD for vehicles, service records, parts, and consumables with support for custom fields per user.
  • Fuel Tracking – Multiple units (MPG, UK‑MPG, L/100 km, km/L) with automatic mileage calculations and trend charts powered by Chart.js.
  • Planner & Reminders – Task scheduler that triggers reminders based on date, odometer reading, or both; notifications can be sent via SMTP using MailKit.
  • Reporting & Analytics – Export to CSV/Excel, generate PDF reports (via Drawdown), and provide a REST endpoint for external dashboards.
  • Multi‑User & SSO – Role‑based access control with optional Single Sign‑On via OpenID Connect.

Technical Stack

LayerTechnology
WebASP.NET Core MVC (C#)
UIBootstrap 5, Bootstrap‑DatePicker, SweetAlert2, Chart.js
PersistenceLiteDB (file‑based) & PostgreSQL (via Npgsql)
EmailMailKit
CSV HandlingCsvHelper
ContainerizationDocker image, Helm chart (anza-labs/lubelogger)
DocumentationMarkdown hosted on GitHub, live demo with auto‑reset

Core Capabilities & APIs

  • REST API – CRUD endpoints for vehicles, maintenance events, fuel logs, supplies, and reminders. All endpoints require JWT authentication; the token can be obtained via the /api/auth/login route.
  • Webhook Support – Optional webhook payloads for maintenance completions or fuel entries, enabling integration with external systems like fleet management dashboards.
  • Import/Export – CSV import for bulk data migration; export endpoints return JSON or CSV depending on query parameters.
  • Custom Fields – Each user can define arbitrary key/value pairs for vehicles and parts, stored as JSON blobs in LiteDB or a separate table in PostgreSQL.

Deployment & Infrastructure

  • Self‑Hosting – The application can run on any machine that supports .NET 8 (or later). The Docker image is a single‑layer Alpine build, keeping the footprint below 200 MB.
  • Scalability – Stateless web workers behind a reverse proxy (NGINX/Traefik) allow horizontal scaling. The PostgreSQL backend supports read replicas; LiteDB is suitable for single‑node or low‑traffic scenarios.
  • CI/CD – The Helm chart on Artifact Hub includes default values for resource limits, persistent volume claims, and ingress configuration. Developers can override these via values.yaml to fit their Kubernetes environment.

Integration & Extensibility

  • Plugin Architecture – The core exposes a simple interface for adding new data models or UI components. Developers can ship NuGet packages that register additional services with the DI container.
  • Webhooks & Callbacks – External applications can subscribe to events such as MaintenanceCreated or FuelLogged. The payload includes full context and can be signed with HMAC for security.
  • Scripting – A lightweight JavaScript console in the UI allows users to run ad‑hoc queries against the API, useful for quick data transformations or testing.

Developer Experience

  • Configuration – All runtime settings are externalized in appsettings.json and can be overridden with environment variables (DOTNET_).
  • Documentation – The project hosts comprehensive Markdown docs covering API reference, database schema, and migration guides.
  • Community & Support – Active GitHub issue tracker; contributors can submit PRs for new features or bug fixes. The project is MIT‑licensed, ensuring no licensing constraints on commercial deployments.

Use Cases

  1. Fleet Management – A small logistics company can deploy LubeLogger to track maintenance schedules, fuel consumption, and parts inventory across multiple vehicles.
  2. Personal Vehicle Tracking – Individual users can use the lightweight LiteDB mode to avoid database setup while still benefiting from a web UI and API.
  3. Custom Dashboards – Developers can consume the REST endpoints to build custom analytics dashboards in Power BI, Grafana, or a bespoke React app.
  4. Automated Alerts – Integrate the webhook system with an SMS gateway or Slack bot to receive real‑time reminders when a service interval is due.

Advantages Over Alternatives

  • Full Self‑Hosting – No SaaS dependency; data remains on-premises, satisfying strict compliance or privacy requirements.
  • Dual‑Database Flexibility – Switch between file‑based LiteDB for quick setups and

Open SourceReady to get started?

Join the community and start self-hosting LubeLogger today