LubeLogger – Self-Hosted Maintenance Logging for Your Vehicles

If you’re a vehicle enthusiast or a meticulous DIYer, keeping track of oil changes, tire rotations, and regular maintenance tasks can be overwhelming – unless youโ€™ve got the right tool. Meet LubeLogger, a self-hosted web application built to help you easily log and track maintenance tasks for all your vehicles.

๐Ÿš— What is LubeLogger?

LubeLogger is a modern, lightweight, self-hosted maintenance logging tool designed to help you keep detailed records of your vehicle servicing history. Itโ€™s perfect for personal use – whether you maintain one car or an entire fleet of bikes, trucks, or tractors.

No more messy spreadsheets, forgotten oil changes, or misplaced notes – LubeLogger keeps everything organized and easily accessible.


๐ŸŒ Features

  • โœ… Web-based interface – no desktop software needed
  • โœ… Supports multiple vehicles
  • โœ… Tracks services like oil changes, tire rotations, brake jobs, and more
  • โœ… Filter and sort maintenance logs
  • โœ… Mobile-friendly
  • โœ… Works great with SQLite or PostgreSQL
  • โœ… Easy Docker deployment

๐Ÿš€ How to Deploy LubeLogger with Docker

Setting up LubeLogger is simple thanks to its Docker support. Hereโ€™s a quick guide to getting it running:

1. Create a docker-compose.yml file:

services:
  app:
    image: ghcr.io/hargata/lubelogger:latest
    restart: unless-stopped
    ports:
      - 8080:8080
    volumes:
      - data:/App/data
      - keys:/root/.aspnet/DataProtection-Keys
    env_file:
      - .env

volumes:
  data:
  keys:

This setup uses SQLite, so there’s no need to manage a separate database – everything is stored locally in the data volume.

Want PostgreSQL instead? Scroll down to the PostgreSQL section below.


2. Add environment variables in a .env file (optional):

This is optional if you’re using the default SQLite database. But if you’d like to set your own configuration, hereโ€™s a basic example:

# Example .env
ASPNETCORE_ENVIRONMENT=Production
Logging__LogLevel__Default=Information

3. Start the application:

docker-compose up -d

Once the container is up and running, open your browser and go to:

http://localhost:8080

You should see the LubeLogger dashboard.


๐Ÿ—ƒ๏ธ Optional: Use PostgreSQL

If you prefer a more robust database for multiple users or production setups, add PostgreSQL to your Docker Compose:

services:
  app:
    image: ghcr.io/hargata/lubelogger:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - 8080:8080
    environment:
      - ConnectionStrings__DefaultConnection=Host=db;Port=5432;Database=lubelogger;Username=postgres;Password=yourpassword
    volumes:
      - data:/App/data
      - keys:/root/.aspnet/DataProtection-Keys

  db:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_DB: lubelogger
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: yourpassword
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  data:
  keys:
  pgdata:

Replace yourpassword with something secure. LubeLogger will auto-migrate the database schema when it connects.


๐Ÿ“ฆ Data Persistence

LubeLogger stores vehicle data inside the /App/data folder. This is mounted via Docker volumes to ensure your data persists even if the container is restarted or rebuilt.


๐Ÿ’ก Final Thoughts

LubeLogger is an elegant and efficient solution for anyone who wants to self-host their own vehicle maintenance log. Itโ€™s simple enough for casual users, yet powerful enough for gearheads or small fleet owners.

If you love the control and simplicity of self-hosted tools, give LubeLogger a spin.


๐Ÿงฉ GitHub Repository:
https://github.com/hargata/lubelog

โœ‰๏ธ Built and maintained by @hargata

Post Comment