Kimai is a powerful open-source time-tracking application that helps businesses and freelancers efficiently manage work hours and billing. It supports multi-user environments, customizable reporting, and integrations with various tools. In this guide, we’ll walk through setting up Kimai using Docker and explore how to use it effectively.
Why Use Kimai with Docker?
Running Kimai with Docker provides several advantages:
- Easy Deployment: No need to manually configure dependencies.
- Portability: Run it on any system that supports Docker.
- Scalability: Easily scale your deployment as your team grows.
Setting Up Kimai with Docker
Prerequisites
Before you begin, make sure you have:
- Docker installed (Get Docker)
- Docker Compose installed
- A working MySQL or MariaDB database (optional, but recommended for production use)
- Portainer to easily use stacks for the setup
Running Kimai with Portainer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
services: kimai: image: kimai/kimai2:apache container_name: kimai environment: - DATABASE_URL=mysql://user:password@MariaDB/kimai?charset=utf8mb4&serverVersion=5.7.40 - APP_SECRET=SECRTET - ADMINPASS=password - ADMINMAIL=admin@email.net ports: - 8011:8000 restart: unless-stopped |
Using Kimai
Setting Up Projects and Users
Once logged in, you can:
- Create users and assign roles.
- Set up projects and clients.
- Define activity types for accurate time tracking.
Tracking Time
- Click on “Time Tracking” and start a new timer.
- Select the project, activity, and add any necessary descriptions.
- Stop the timer when done or manually enter time logs.
Generating Reports
Kimai allows you to:
- Export time records in CSV, PDF, and Excel formats.
- Filter reports by users, projects, and dates.
- Generate invoices for billable hours.
Conclusion
Kimai is a feature-rich time-tracking tool that, when combined with Docker, becomes incredibly easy to deploy and manage. Whether you’re a freelancer or managing a team, Kimai offers a scalable solution to track time efficiently.