Productivity
Leantime is an open source project management system for non-project manager.
We combine strategy, planning and executing while making it easy for everyone on the team to use. Building with ADHD, dyslexia and autism in mind.
It's an alternative to ClickUp, Monday, or Asana. As simple as Trello but as feature-rich as Jira.
https://leantime.io
Task Management | Project Planning | Information/Knowledge Management | Administration |
---|---|---|---|
Task management via kanban boards, gantt, table, list and calendar views | Project Dashboards, reports & status updates | Wikis / Docs | Easy installation |
Unlimited subtasks and dependencies | Goal & metrics tracking | Idea Boards | Multiple user roles and per project permissions |
Milestone management | Lean & Business Model Canvas | Retrospectives | Two factor authentication |
Sprint Management | SWOT Analysis canvas | File Storage via S3 or local filesystem | LDAP, OIDC integration |
Timetracking & timesheets | Risk Analysis | Screen & webcam recording | Extendable via plugins and API |
... and more | Comments/discussions on everything | Integrates with Slack, Mattermost, Discord | |
... and more | Available in over 20 languages | ||
*yes, all of these features are included in the OSS version | |||
There are two main ways to install LeanTime for production. The first of which is to install all needed pieces of the system locally. The second is to use the officially supported Docker image.
public/
directoryconfig/.env.sample
to config/.env
config/.env
<yourdomain.com>/install
Whilst the steps above are applicable to Internet Information Services (IIS), there is an additional configuration change that may be required in IIS to ensure full functionality - you need to allow the PATCH method:
Handler Mappings
Request Restrictions…
Verbs
tabOne of the following verbs
text box, add ,PATCH
- for example: GET,HEAD,POST,PATCH
OK
Executable (optional)
text box, put a double quote character (“
) at the start and at the end of the path to the php-cgi.exe
file (this isn't needed if the path doesn't have a space in it)OK
Yes
Note: You may need to repeat this when you upgrade PHP.
We maintain an official Docker image on dockerhub. To run the image enter your MySQL credentials and execute. You can pass in all the configuration variables from .env
docker run -d --restart unless-stopped -p 80:80 --network leantime-net \
-e LEAN_DB_HOST=mysql_leantime \
-e LEAN_DB_USER=admin \
-e LEAN_DB_PASSWORD=321.qwerty \
-e LEAN_DB_DATABASE=leantime \
-e LEAN_EMAIL_RETURN=changeme@local.local \
--name leantime leantime/leantime:latest
Unless you have a database defined somewhere else you should use our docker-compose file.
Once started you can go to <yourdomain.com>/install
and run the installation script.
Important: If you are planning to use plugins you need to mount the plugin folder plugins:/var/www/html/app/Plugins
and ensure the www-data user has access to it. Otherwise installation may fail or plugins will be removed after a restart
If you intend to place Leantime behind a reverse proxy (nginx, etc.) to handle custom domain name resolution and SSL offloading, you will need to set the following environment variable in docker
-e LEAN_APP_URL=https://yourdomain.com \
There are two ways to install a development setup of LeanTime. The first (but most technical) is to install all pieces of the system locally. The second (and preferred method) is to use a docker containerized development environment.
make build-dev
public/
directoryconfig/.env.sample
to config/.env
config/.env
<localdomain>/install
For development, we use a dockerized development environment. You will need to have docker
, docker compose
, make
, composer
, git
and npm
installed.
;extension=gd
and removing the semicolon.In order to build the development docker image, in the root of this repository, run a primer with
make clean build
afterwards, run
make run-dev
this will start the development server on port 8090.
The dev environment provides a MySQL server, mail server, s3 server, and should be good to go for your needs out of the box. The configuration of the development environment is found in .dev/.env
, and is already seeded with the appropriate values. You should probably not be modifying this unless you plan to work on a feature for a specific integration. the applications you get are as follows
leantime:leantime
) to check the DB schema and data.dev/.env
file by enabling s3Additionally, Xdebug is enabled, but you will have to modify your
IDE key in the .dev/xdebug.ini
file(or alternatively, on your IDE). You also need to have port 9003 temporarily open on your firewall so you can utilize it effectively. This is because connections from docker to the host will count as external inbound connections
Static Analysis make phpstan
Code Style make test-code-style
(to fix code style automatically use make fix-code-style
)
Unit Tests make unit-test
Acceptance Tests make acceptance-test
(requires docker)
You can test individual acceptance test groups directly using:
For api:
docker compose --file .dev/docker-compose.yaml --file .dev/docker-compose.tests.yaml exec leantime-dev php vendor/bin/codecept run -g api --steps
For timesheets:
docker compose --file .dev/docker-compose.yaml --file .dev/docker-compose.tests.yaml exec leantime-dev php vendor/bin/codecept run -g timesheet --steps
<yourdomain.com>/update
bin/leantime system:update
Hassle free installation service in your environments. We can do full installations, updates, configurations or plugin installations. See our Marketplace for details.
We offer managed hosting plans as well as a SaaS product so you can get all the benefits of Leantime without the hassle.
Head to leantime.io for more information.
We can help you set up Leantime in your environment and customize it to your needs. Our support plans are outlined on our website.
Please note: We currently only support the official Leantime docker compose and standard installations. We only offer support for the most recent version.
We do not offer support for Cloudron, Elestio, Turnkey, or other external distribution platforms sharing unofficial versions of Leantime.
We're excited you are interested in contributing to Leantime. We want to make sure you have a great experience contributing to Leantime and that the new features you build will make it into core.
Find an issue on Github (or create a new one) add your name to it or comment that you will be working on it. Once fixed, create a Pull Request.
If you have an idea about new features please reach out to us on Discord. This is where we coordinate feature development and discuss whether core is the right place to add your new features (Plugins is the alternative).
We use (Crowdin)https://crowdin.com/project/leantime to manage all of our translations. If you don't see a language please message us on Discord.
Leantime is licensed under AGPLv3.
This file forms part of the Leantime Software for which the following exception is added: Plugins within the /app/Plugins
directory which may contain plugins licensed under other licenses including our enterprise license.