Host Your Own TimeTracker on a Raspberry Pi in 10 Minutes



This content originally appeared on DEV Community and was authored by dries peeters

If you’re a freelancer, consultant, or part of a small team, you probably use a time tracker for billable hours, reporting, and invoicing. The problem? Most popular tools are SaaS-based, meaning:

  • You lose control of your data.
  • Timers break if your browser or PC crashes.
  • You’re locked into a subscription.

That’s why I built TimeTracker — an open-source, self-hosted time tracking app designed for freelancers and small teams who want a lightweight, reliable alternative they can run anywhere.

In this guide, I’ll show you how to set up TimeTracker on a Raspberry Pi in under 10 minutes using Docker.

✨ Why TimeTracker?

  • Persistent timers — your tracking continues even if your browser closes or the Pi reboots.
  • Multi-user support — admins and regular users with projects, clients, and billing.
  • Comprehensive reports — breakdown by user/project with CSV export.
  • Offline-friendly — no cloud dependency, works on LAN or completely off-grid.
  • Docker-ready — runs on Raspberry Pi, VPS, or any Linux box.

🛠 Prerequisites

  • A Raspberry Pi (Pi 4 recommended, but Pi 3 works too).
  • Docker & Docker Compose installed. If you don’t have them yet:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $USER
sudo apt-get install -y python3-pip
sudo pip3 install docker-compose

🚀 Install TimeTracker on Raspberry Pi

  1. Clone the repository:
   git clone https://github.com/DRYTRIX/TimeTracker.git
   cd TimeTracker
  1. Copy and edit environment config:
   cp .env.example .env

Here you can adjust settings like database type, time zone, and currency.
For a quick Pi setup, the defaults work fine (SQLite DB).

  1. Start the app with Docker Compose:
   docker-compose up -d
  1. Access TimeTracker: Open a browser and go to:
   http://<raspberry-pi-ip>:8080

Log in with the default admin account or create one.

That’s it — you’re tracking time! 🎉

📊 Using TimeTracker

  • Create clients and projects.
  • Start/stop timers that run persistently on the server.
  • Generate reports (per project, per user).
  • Export CSV files for billing or external analysis.

The UI is lightweight and responsive, so you can use it on desktop, tablet, or even your phone.

🔮 What’s Next?

TimeTracker is evolving. Upcoming features include:

  • Mobile apps (iOS & Android).
  • Slack / Zapier integrations.
  • Advanced analytics dashboards.
  • Multi-language support.

If you’re interested, you can:

  • ⭐ Star the repo on GitHub → TimeTracker
  • File issues / suggest features.
  • Contribute code, docs, or translations.

🎯 Final Thoughts

Self-hosting your time tracker means you own your data, keep working offline, and avoid SaaS lock-in. With Docker, it’s dead simple to deploy — and a Raspberry Pi makes it a cheap, always-on solution.

Give TimeTracker a try and let me know what you think:
👉 https://github.com/DRYTRIX/TimeTracker


This content originally appeared on DEV Community and was authored by dries peeters