Skip to content

fedorterrell/Timetracker

Repository files navigation

TimeTracker 🕐

A simple self-hosted time tracking app. Track time per project and task, with multi-user support.

Quick Start

# 1. Clone / copy this folder to your Pi (or any Docker host)
# 2. Edit docker-compose.yml and change SECRET_KEY
# 3. Run:
docker compose up -d --build

Then open http://your-pi-ip:8080 in any browser.

Default credentials: admin / admin
⚠️ Change the admin password immediately after first login!


Features

  • Live timer — start/stop with one click
  • ✏️ Manual entries — add past time entries
  • 📁 Projects — color-coded, create as many as you need
  • Tasks — optional sub-level per project
  • 📊 Reports — hours by project and by user, filterable by date
  • 👥 Multi-user — each user sees only their own time; admins see all
  • 📱 Mobile-friendly — works great in phone browsers on your LAN

Backup

Data is stored in a named Docker volume. To back up:

# Export database
docker exec $(docker compose ps -q backend) \
  sh -c "sqlite3 /data/timetracker.db .dump" > backup_$(date +%F).sql

# Restore
cat backup_2024-01-01.sql | docker exec -i $(docker compose ps -q backend) \
  sh -c "sqlite3 /data/timetracker.db"

Update

docker compose pull
docker compose up -d --build

Your data is safe in the named volume and won't be affected.


Configuration

Edit docker-compose.yml:

Variable Description
SECRET_KEY JWT signing secret — change this!
8080:80 Change 8080 to any port you prefer

Stack

  • Backend: FastAPI + SQLite (Python)
  • Frontend: Single-page HTML/CSS/JS (no framework)
  • Server: Nginx
  • Deploy: Docker Compose

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors