MCPSERV.CLUB
Kimai

Kimai

Self-Hosted

Open‑source time tracker for teams and freelancers

Active(88)
4.2kstars
0views
Updated 18 days ago
Kimai screenshot 1
1 / 5

Overview

Discover what makes Kimai powerful

Kimai is a full‑stack, PHP‑based time‑tracking platform designed for both freelancers and enterprise teams. At its core it exposes a **RESTful JSON API** that allows programmatic access to all domain entities (users, customers, projects, activities, invoices). The UI is a modern single‑page application built with **Symfony** and **Twig**, leveraging server‑side rendering for SEO while offering an interactive dashboard through JavaScript. The application is released under the AGPL‑3 license, encouraging community contributions and allowing commercial use as long as derivative works remain open source.

Backend

Database

Frontend

Containerization

Overview

Kimai is a full‑stack, PHP‑based time‑tracking platform designed for both freelancers and enterprise teams. At its core it exposes a RESTful JSON API that allows programmatic access to all domain entities (users, customers, projects, activities, invoices). The UI is a modern single‑page application built with Symfony and Twig, leveraging server‑side rendering for SEO while offering an interactive dashboard through JavaScript. The application is released under the AGPL‑3 license, encouraging community contributions and allowing commercial use as long as derivative works remain open source.

Technical Stack & Architecture

  • Backend: Symfony 6.x framework, PHP 8.1+ (with support for 8.2‑8.4). Uses Doctrine ORM for data persistence and the Symfony Messenger component for asynchronous tasks (e.g., invoice generation, email notifications).
  • Database: MariaDB or MySQL (8.0+ recommended) with optional support for PostgreSQL via community forks.
  • Frontend: Twig templates, Bootstrap 5, jQuery for legacy compatibility; newer releases expose a Vue.js/React‑style API for custom dashboards.
  • Containerization: Official Docker images (kimai/kimai2) are available on Docker Hub, offering both FPM‑only and Apache bundles. Compose files are provided for common cloud providers (Hetzner, DigitalOcean).
  • Authentication: Pluggable adapters for LDAP, SAML, OAuth2, and database users. Two‑factor authentication via TOTP is integrated out of the box.

Core Capabilities for Developers

  • Extensible Plugin System: Plugins are Composer packages that register Symfony bundles. The plugin API exposes hooks for UI injection, database migrations, and custom services.
  • Webhooks & Events: Kimai emits Symfony events (ActivityCreatedEvent, InvoiceGeneratedEvent) that plugins or external services can listen to.
  • Custom Fields & Filters: Users can define arbitrary fields on projects or activities; these are exposed through the API and searchable via a query language.
  • Reporting & Export: Built‑in CSV/Excel exporters and an advanced query builder allow developers to build custom reports.
  • Multi‑tenant Support: The data model supports separate workspaces via a team entity, enabling isolated projects per department or client.

Deployment & Infrastructure

Kimai is a stateless PHP application; session data can be stored in Redis or the database, making it horizontally scalable behind a load balancer. The Docker images are minimal and can be deployed on any LAMP stack or container orchestrator (Kubernetes, Docker Swarm). For high‑availability, a read‑replica MySQL setup and Redis cache are recommended. Backups are simple SQL dumps, while incremental backups can be scripted with mysqldump and stored in object storage.

Integration & Extensibility

  • API First: The JSON API follows REST conventions and is documented with OpenAPI/Swagger. Rate limiting, OAuth scopes, and HATEOAS links are supported.
  • SDKs & Clients: Community maintained SDKs exist for PHP, Python, and JavaScript.
  • Webhooks: Configure outbound webhooks to trigger external CI/CD pipelines, Slack notifications, or custom dashboards.
  • Custom Themes: The Twig templating system allows overriding any template; CSS can be customized via SCSS variables.
  • Command Line: Symfony console commands expose CRUD operations, data migrations, and maintenance tasks (e.g., kimai:generate-invoices).

Developer Experience

The project follows Symfony best practices: autoloading, dependency injection, and a clear service container. Documentation is split into user guides and developer references, with code samples for plugin creation and API consumption. The community is active on GitHub Issues, a dedicated Discord channel, and the kimai mailing list. Continuous integration via GitHub Actions ensures high code quality (unit, functional tests, coverage metrics). The AGPL license encourages contributions while protecting commercial users from proprietary lock‑in.

Use Cases

  1. Enterprise Time Tracking – Deploy Kimai on an internal network to collect billable hours, generate invoices, and produce compliance reports.
  2. Freelancer Toolchain – Use the API to integrate with a personal project management tool or custom invoicing script.
  3. SaaS Platform – Spin up multiple Kimai instances in a Kubernetes cluster, each isolated by namespace, to offer time‑tracking as a service.
  4. Custom Reporting – Build dashboards in Grafana or Power BI by querying Kimai’s API and storing data in a time‑series database.

Advantages for Developers

  • Open Source & AGPL: No licensing fees, full source access, and freedom to modify the core.
  • Modern Stack: Symfony 6+ with PHP 8 ensures performance and type safety.
  • Extensible Architecture: Plugins, events, and a robust API reduce the need to fork the core.
  • Scalable Deployment: Stateless PHP and Docker support horizontal scaling, caching, and CI/CD pipelines.
  • Rich Feature Set: Built‑in multi‑timer, punch‑in/out, 2FA, multi‑language support, and customizable roles reduce development time for common use cases.

Kimai’s blend of a mature PHP framework, extensible plugin ecosystem, and comprehensive API makes it an attractive choice for developers seeking a self‑hosted time‑tracking solution that can grow with their organization’s needs.

Open SourceReady to get started?

Join the community and start self-hosting Kimai today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
4.2k
Technical Specs
Pricing
Open Source
Database
MySQL
Docker
Official
Supported OS
LinuxDocker
Author
kimai
kimai
Last Updated
18 days ago