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.
It is developed with modern frameworks like Symfony v4, Doctrine, AdminLTE and many more.
Kimai is a multi-language application and already translated to English. German, Italian, Frensh, Spanish and Russian. If you want to support us in translating Kimai, please read this documentation.
- PHP 7.1.3 or higher
- One PHP extension of PDO-SQLite or PDO-MySQL enabled (it might work with PostgreSQL and Oracle as well, but that wasn't tested and is not officially supported)
- The PHP extension intl
- 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
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 sent us your ideas and questions.
There are further infos about installation if you have to use FTP or want to develop with Kimai.
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:
chown -R www-data var/
chmod -R 777 var/
It's up to you which database server you want to use, Kimai v2 supports MySQL/MariaDB and SQLite.
Configure the database connection string in your the .env
file:
# adjust all settings in .env to your needs
APP_ENV=prod
DATABASE_URL=mysql://db_user:[email protected]:3306/db_name
Now install all dependencies for Kimai 2:
sudo -u www-data composer install --no-dev --optimize-autoloader
Optionally create the database:
bin/console doctrine:database:create
Create all schema tables:
bin/console doctrine:schema:create
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 [email protected] 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.
NOTE
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 :-)
STOP
- 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:
bin/console doctrine:migrations:migrate
Done! You can use the latest version of Kimai 2.
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.
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:
- an example on how to extend Kimai 2 can be found in this GitHub repository
- the developer documentation is available both on GitHub and your local installation