Timestrap logo

Timestrap

Self‑hosted time tracker with flexible exports and extensibility.

Timestrap lets teams track work hours on their own servers, offering multi‑format exports, Docker deployment, and easy extensibility for custom workflows.

Timestrap banner

Overview

Overview

Timestrap is a self‑hosted time‑tracking application aimed at small to medium teams and developers who prefer to keep their data on‑premise. It provides a web interface for logging work hours and supports full data export in multiple formats, making it easy to integrate with billing or reporting tools.

Capabilities & Extensibility

Built with Django and a Vue front‑end, Timestrap is designed for extensibility. You can customize models, add new export types, or integrate with external services. A default superuser (admin/admin) is created on first launch to simplify initial access, but it should be changed for production use.

Deployment

The project ships a Docker‑Compose setup that provisions a PostgreSQL database (and plans for Redis) and runs the application behind port 80. Data persists in a named Docker volume (timestrap_db). For developers, a pipenv‑based workflow is also available, allowing local execution with hot‑reloading. Note that the current version is unstable and migrations will be reset before the 1.0 release.

Highlights

Multi‑format export for easy data sharing
Docker‑Compose deployment with PostgreSQL persistence
Extensible Django/Vue architecture
Built‑in superuser for quick initial access

Pros

  • Full control over data and hosting environment
  • Flexible export options for downstream processing
  • Simple Docker setup for rapid deployment
  • Open source codebase that can be customized

Considerations

  • Currently unstable; migrations reset before 1.0
  • Early Docker configuration may lack persistent storage tweaks
  • Requires technical knowledge to configure and secure
  • Default admin credentials need to be changed for production

Managed products teams compare with

When teams consider Timestrap, these hosted platforms usually appear on the same shortlist.

Clockify logo

Clockify

Time tracking and timesheets for teams and freelancers

Everhour logo

Everhour

Time tracking that integrates deeply with project tools

Harvest logo

Harvest

Time tracking with invoicing and expense tracking

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Teams needing on‑premise time tracking
  • Developers who want to extend the tracker
  • Organizations with strict data‑privacy requirements
  • Projects already using Docker and PostgreSQL

Not ideal when

  • Non‑technical users seeking a plug‑and‑play SaaS
  • Enterprises requiring guaranteed stability out of the box
  • Environments without Docker or Python support
  • Users who cannot manage default superuser credentials

How teams use it

Freelance agency billing

Track billable hours per client and export CSV reports for invoicing.

Internal project time logging

Developers log work, managers export JSON for integration with internal dashboards.

Custom workflow integration

Extend Django models to add project codes, then export data for ERP synchronization.

On‑premise compliance tracking

Store all time data within the corporate network, meeting data residency policies.

Tech snapshot

Python71%
Vue19%
JavaScript7%
HTML2%
CSS1%
Dockerfile1%

Tags

self-hostedpythontimetrackerdjangodocker

Frequently asked questions

How do I get started with Timestrap?

Clone the repository, adjust `docker-compose.yml` variables, run `docker-compose up --detach --build`, then execute migrations and create the superuser.

What export formats are supported?

Timestrap provides full export in multiple formats; the exact list is documented on the official website.

Can I run Timestrap without Docker?

Yes, install the Python and Node dependencies via pipenv and yarn, run Django migrations, and start the server with the provided manage.py commands.

Is data persisted across container rebuilds?

The Docker setup stores PostgreSQL data in the `timestrap_db` volume, which is retained when containers are rebuilt.

What should I do about the default admin credentials?

Change the admin username and password after the first login, especially for production deployments.

Project at a glance

Dormant
Stars
1,707
Watchers
1,707
Forks
101
LicenseBSD-2-Clause
Repo age8 years old
Last commit3 years ago
Self-hostingSupported
Primary languagePython

Last synced 2 days ago