Kimai v2 - Time Tracking
Kimai v2 - the open source time-tracking application with a mobile-first approach, read more at the official website.
This is the reloaded version of the open source timetracker Kimai. The new version has not much in common with its predecessor Kimai v1 besides the basic ideas of time-tracking and the current development team.
Right now its in an early development phase, its usable but some advanced features from Kimai v1 are missing by now (like export and ODT invoices). But we already support to import your timesheets from Kimai v1.
Kimai is a multi-language application and already translated to: English, German, Italian, French, Spanish, Russian, Arabic and Hungarian. If you want to support us in translating Kimai, please read this documentation.
- PHP 7.1.3 or higher
- The PHP extensions:
- The usual Symfony application requirements
- If you use MariaDB, make sure its at least v10.2.7 (see FAQ)
- Kimai needs to be installed in the root directory of a domain or you need to recompile the frontend assets
- A modern browser, Kimai v2 might be broken on old browsers like IE 10
Documentation & Roadmap
Looking for more information about using Kimai? Check out our more detailed documentation.
You can see our development roadmap for the future in the Milestones sections.
Our roadmap is open for changes and input from the community, please send us your ideas and questions.
If you want to install Kimai 2 in your production environment, then SSH into your server and change to your webserver root. You need to install Git and Composer if you haven't already.
First clone this repo:
git clone https://github.com/kevinpapst/kimai2.git cd kimai2/
Make sure the file permissions are correct and create your
chown -R :www-data . chmod -R g+r . chmod -R g+rw var/ cp .env.dist .env
It's up to you which database server you want to use, Kimai v2 supports MySQL/MariaDB and SQLite, but SQLite is not recommended for production usage.
Configure the database connection string in your the
# adjust all settings in .env to your needs APP_ENV=prod DATABASE_URL=mysql://user:email@example.com:3306/database
Now install all dependencies for Kimai 2:
sudo -u www-data composer install --no-dev --optimize-autoloader
Optionally create the database:
Create all schema tables:
Make sure that upcoming updates can be correctly applied by setting the initial database version:
bin/console doctrine:migrations:version --add --all
Warm up the cache (as webserver user):
sudo -u www-data bin/console cache:warmup --env=prod
Create your first user with the following command. You will be asked to enter a password afterwards:
bin/console kimai:create-user username firstname.lastname@example.org ROLE_SUPER_ADMIN
Tip: You can skip the "create user" step, if you are going to import data from Kimai v1.
For available roles, please refer to the user documentation.
If you want to use a fully-featured web server (like Nginx or Apache) to run Kimai, configure it to point at the
public/directory of the project. For more details, see: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html
Installation complete: enjoy time-tracking :-)
Don't forget tweaks that may be necessary to these instructions if you are using FTP, developing or updating on your personal computer instead of a server. See further infos about installation.
- It's important that you don't execute the Installation steps before or after your upgrade
- Make sure that you have a working database backup before you start the update
- Read the UPGRADING guide and release information to check if there a further steps required
Get the latest code and install dependencies:
cd kimai2/ git pull origin master sudo -u www-data composer install --no-dev --optimize-autoloader
Refresh your cache:
sudo -u www-data bin/console cache:clear --env=prod sudo -u www-data bin/console cache:warmup --env=prod
And upgrade your database:
Done! You can use the latest version of Kimai 2.
Rolling releases & Git
Please note: Kimai 2 uses a rolling release concept for delivering updates. Release versions will be created on a regular base and you can use these tags if you are familiar with Git, but we will not provide support for any specific version (whether its bugs or installation/update docu).
Every code change, whether it's a new features or bug fixes, will be targeted against the master branch and intensively tested before merging. We have to go this way, as we develop Kimai in our free time and want to put our effort into the software instead of installation scripts and complicated upgrade processes.
Extensions for Kimai 2
As Kimai 2 was built on top of Symfony, it can be extended like every other Symfony application. We call these extensions bundles, but you might also know them as add-ons, extensions or plugins.
All available Kimai 2 bundles can be found at the Kimai recipes repository.
If you want to develop with and for Kimai 2 please read the following documentation: