4.4 KiB
Installation
If you want to install Kimai v2 in your production environment and have SSH access, then switch to the official installation instruction in our README.
You need GIT and Composer on the machine where you want to install Kimai.
Hosting & 1-click installations
These platforms adopted Kimai 2 to be compatible with their one-click installation systems:
FTP installation
If you have no SSH access to your server (e.g. when you use a shared hosting package) then you need to install Kimai locally and upload it afterwards.
Before I start to explain how to apply this workaround let me briefly explain the problem: Kimai has no web-based installer for now and you have to create the first user with a console command. It also does not come as pre-built ZIP file, so you have to install the dependencies manually.
These are the steps you have to perform:
git clone https://github.com/kevinpapst/kimai2.git
cd kimai2/
Create the .env file, using the prod environment and SQLite as database:
APP_ENV=prod
APP_SECRET=insert_a_random_secret_string_for_production
DATABASE_URL=sqlite:///%kernel.project_dir%/var/data/kimai.sqlite
The file var/data/kimai.sqlite will hold all your data, so make sure to include it in your backups!
Prepare the environment by installing all dependencies:
composer install --no-dev
Create the database schemas:
bin/console doctrine:schema:create
And create your first user with the following command. You will be asked to enter a password afterwards.
bin/console kimai:create-user username admin@example.com ROLE_SUPER_ADMIN
Now you can upload the kimai2/ directory to your hosting environment and point your domain (document root) to kimai2/public/.
Development installation
Clone the repository and install all dependencies:
git clone https://github.com/kevinpapst/kimai2.git
cd kimai2/
composer install
The default installation uses a SQLite database, so there is no need to create a database for your first tests.
Our default settings will work out-of-the-box, but you might want to adjust the .env values to your needs.
You can configure your database through your environment (e.g. Webserver, Cloud-Provider) or in your .env file:
DATABASE_PREFIX=kimai2_
DATABASE_URL=sqlite:///%kernel.project_dir%/var/data/kimai.sqlite
APP_ENV=dev
APP_SECRET=some_random_secret_string_for_your_installation
The next commands will create the database and the schema:
bin/console doctrine:database:create
bin/console doctrine:schema:create
Lets bootstrap your environment by executing this commands (which is only available in dev environment):
bin/console kimai:reset-dev
You just imported demo data, to test the application in its full beauty and with several different user accounts and permission sets.
You can now login with these accounts:
| Username | Password | Role |
|---|---|---|
| clara_customer | kitten | Customer |
| john_user | kitten | User |
| chris_user | kitten | User (deactivated) |
| tony_teamlead | kitten | Teamlead |
| anna_admin | kitten | Administrator |
| susan_super | kitten | Super-Administrator |
Demo data can always be deleted by dropping the schema and re-creating it. ATTENTION - this will erase all your data:
bin/console doctrine:schema:drop --force
bin/console doctrine:schema:create
The kimai:reset-dev command can always be executed later on to reset your dev database and cache.
There is no need to configure a virtual host in your web server to access the application for testing. Just use the built-in web server for your first tests:
bin/console server:run
This command will start a web server for Kimai. Now you can access the application in your browser at http://127.0.0.1:8000/.
You can stop the built-in web server by pressing Ctrl + C while you're in the terminal.
To re-generate the frontend assets (more information here), execute:
yarn install
npm run prod
