We provide a set of docker images for the Kimai project.
The built images are available from Kimai at Docker Hub.
We use commit linting to generate commits that we can auto generate changelogs from. To set these up, you will need node/nvm installed:
nvm use
npm install
See CONTRIBUTING.md for more details.
Run the latest production build:
-
Start a DB
docker run --rm --name kimai-mysql-testing \ -e MYSQL_DATABASE=kimai \ -e MYSQL_USER=kimai \ -e MYSQL_PASSWORD=kimai \ -e MYSQL_ROOT_PASSWORD=kimai \ -p 3399:3306 -d mysql
-
Start Kimai
docker run --rm --name kimai-test \ -ti \ -p 8001:8001 \ -e DATABASE_URL=mysql://kimai:kimai@host.docker.internal:3399/kimai \ --add-host=host.docker.internal:host-gateway \ kimai/kimai2:apache
-
Add a user using the terminal
docker exec -ti kimai-test \ /opt/kimai/bin/console \ kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN
Now, you can access the Kimai instance at http://localhost:8001.
Note:
If you're using Docker for Windows or Docker for Mac, and you're getting "Connection refused" or other errors, you might need to change ${HOSTNAME}
to host.docker.internal
.
This is because the Kimai Docker container can only communicate within its network boundaries. Alternatively, you can start the container with the flag --network="host"
.
See here for more information.
Keep in mind that this Docker setup is transient and the data will disappear when you remove the containers.
docker stop kimai-mysql-testing kimai-test
docker rm kimai-mysql-testing kimai-test
This will run the latest prod version using FPM with an nginx reverse proxy
See the docker-compose.yml in the root of this repo.