Autokosten bijhouden met Tracktor
Ik had al jaren benzinebonnen in mijn handschoenkastje liggen, verspreide notities over oliebeurten in mijn telefoonnotities, en mijn OSAGO-polis raakte altijd zoek in de diepten van mijn e-mail. Herkenbaar? Als je twee auto's in het gezin hebt of daarbovenop een motor, wordt het bijhouden van gepland onderhoud en verzekeringsdeadlines een aparte zoektocht. De meeste mobiele apps voor autotracking zitten bomvol met advertenties, vereisen een betaald abonnement, of slaan je data op op servers van iemand anders.
Onlangs stuitte ik op het Tracktor-project op GitHub. Het is een zelfgehoste garagebeheerservice die brandstof bijvullen, reparaties, keuringen, verzekeringen en herinneringen combineert. Ik besloot het te deployen op mijn thuisserver en te kijken hoe praktisch het in het dagelijks leven is.

Wat de service kan doen
De maker van het project richtte zich op de basisdingen die elke autobezitter nodig heeft, zonder overbodige franje.
De hoofdpagina begroet je met een aanpasbaar dashboard. Widgets kunnen worden versleept om wat het belangrijkst is naar voren te halen: recente uitgaven, brandstofverbruik of een aankomende service.
Er zijn verschillende kernonderdelen ingebouwd.
De garage ondersteunt elk gewenst aantal voertuigen. Voor elke auto of motor kun je het brandstoftype, de basiskilometerstand en specificaties instellen. Handig als het gezin meerdere auto's heeft of als je familieleden helpt met het bijhouden van hun vloot.
Brandstoftracking berekent het gemiddelde brandstofverbruik en de kosten-per-kilometer trends. Je voert liters, bedrag en huidige kilometertellerstand in, en het systeem bouwt grafieken en detecteert zelfstandig afwijkingen. Als het verbruik plotseling begint te stijgen, is dat direct zichtbaar in de rapporten.
Het servicelogboek bewaart de geschiedenis van reparaties, verbruiksmaterialen vervangingen en gepland onderhoud. Elke entry kan een kostprijs en de kilometerstand waarop het werk is uitgevoerd hebben.
Documentbeheer en herinneringen redden je van verlopen verzekeringen en keuringsdeadlines. Je voert de vervaldatum van de polis of het volgende interval voor remvloeistof vervangen in, en de service waarschuwt je ruim op tijd voor de deadline.
Rapportage stelt uitgaven samen in duidelijke grafieken. Je kunt direct zien welk deel van je budget naar benzine gaat versus gepland onderhoud en verzekeringen.
De interface heeft module toggles: als je geen tracking van milieucertificaten of gedetailleerde analyses nodig hebt, kunnen die blokken in de instellingen met één knop worden uitgeschakeld. De interface is vertaald in 11 talen, waarbij Russisch standaard meegeleverd wordt.
Onder de motorkap
De projectarchitectuur ziet er clean en modern uit. Er zijn geen logge microservices of zware databases die gigabytes aan RAM vereisen.
De frontend en backend zijn geschreven in SvelteKit met de nieuwe Svelte 5 en stijlen in Tailwind CSS. Voor dataopslag koos de ontwikkelaar voor de combinatie van SQLite en Drizzle ORM.
Dit stack biedt voor de hand liggende voordelen:
- Minimaal resourceverbruik. De app draait zonder problemen op een oude Raspberry Pi, een goedkope virtuele machine voor een paar dollar, of in een Proxmox LXC-container.
- Eenvoudige back-ups. De hele database past in één SQLite-bestand, wat gemakkelijk op een schema te kopiëren is naar een lokaal archief of de cloud.
- Snelle responsieve interface zonder vertragingen bij het navigeren tussen schermen.
Hoewel er een waarschuwing in de repository staat: het project is in actieve ontwikkeling, dus releases kunnen breaking changes bevatten. De auteur adviseert expliciet om regelmatige databaseback-ups in te stellen voordat je update.
Snelle Docker setup
De snelste manier om de app draaiende te krijgen is door de kant-en-klare Docker-image te starten via docker-compose.
Maak een docker-compose.yml bestand:
services:
app:
image: ghcr.io/javedh-dev/tracktor:latest
container_name: tracktor-app
restart: always
ports:
- '3333:3000'
volumes:
- tracktor-data:/data
volumes:
tracktor-data:
Start de container met het commando:
docker compose up -d
Na opstarten is de webinterface beschikbaar op http://localhost:3333 of via het IP-adres van je server op het lokale netwerk.
Authenticatie gebruikt de klassieke gebruikersnaam-en-wachtwoord combinatie met sessies. Als je plant om externe toegang te bieden, is het voldoende om de app achter een reverse proxy zoals Nginx, Caddy of Traefik met een HTTPS-certificaat te plaatsen.
Voor wie is dit project nuttig
Tracktor is een goede match voor wie zijn persoonlijke data onder eigen controle wil houden en autonomie waardeert.
Het lost deze taken goed op:
- Eigenaren van meerdere auto's of motoren die het beu zijn om met serviceboekjes en bonnen te jongleren.
- Thuis-hosting enthousiastelingen die op zoek zijn naar een lichtgewicht vervanging voor commerciële uitgaventrackingservices.
- Kleine familievloten waar je transparant inzicht nodig hebt in de totale vervoerskosten.
Als je al een tijdje je servicehistorie van je voertuig wilt ordenen en wilt stoppen met het bijhouden van bougie vervangingsdata en verzekeringsverlengingen in je hoofd, is het project zeker het testen waard. Bekijk de Tracktor repository, start een container op en zie het zelf.