Type something to search...
Leantime

Leantime

Leantime

4.1k 541
01 May, 2024
  PHP

What is Leantime ?

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 Autistism in mind.
It’s an alternative to ClickUp, Monday, or Asana. As simple as Trello but as feature-rich as Jira.
https://leantime.io


Leantime Features

Task ManagementProject PlanningInformation/Knowledge ManagementAdministration
Task management via
kanban boards, gantt, table, list and calendar views
Project Dashboards, reports & status updatesWikis / DocsEasy installation
Unlimited subtasks and dependenciesGoal & metrics trackingIdea BoardsMultiple user roles and per project permissions
Milestone managementLean & Business Model CanvasRetrospectivesTwo factor authentication
Sprint ManagementSWOT Analysis canvasFile Storage via S3 or local filesystemLDAP, OIDC integration
Timetracking & timesheetsRisk AnalysisScreen & webcam recordingExtendable via plugins and API
… and moreComments/discussions on everythingIntegrates with Slack, Mattermost, Discord
… and moreAvailable in over 20 languages
*yes, all of these features are included in the OSS version

📸 Screenshots

alt textalt textalt text
alt textalt textalt text
alt textalt textalt text

❗System Requirements

  • PHP 8.1+
  • MySQL 5.7+
  • Apache or Nginx (IIS works with some modifications)
  • PHP Extensions:
    • mysql, mbstring, GD, exif, pcntl, bcmath, opcache, ldap

️⚡️ Installation (Production)

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.

Local Production Installation

  • Download latest release package from our Website or Github
  • Create an empty MySQL database
  • Upload the entire directory to your server
  • Point your domain root to the public/ directory
  • Rename config/.env.sample to config/.env
  • Fill in your database credentials (username, password, host, dbname) in config/.env
  • Navigate to <yourdomain.com>/install
  • Follow instructions to install database and set up first user account
IIS Installation Notes

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:

  • Open IIS
  • Expand the server and sites on the left and select the LeanTime site
  • Double click on Handler Mappings
  • Double click on the PHP handler mapping that is used by the site
  • Click Request Restrictions…
  • Click the Verbs tab
  • In the One of the following verbs text box, add ,PATCH - for example: GET,HEAD,POST,PATCH
  • Click OK
  • In the 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)
  • Click OK
  • A popup will appear asking if you want to create a FastCGI application - click Yes

Note: You may need to repeat this when you upgrade PHP.

Production Installation via Docker

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 \
--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.

Docker Installation Notes

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 \
  • Update yourdomain.com to your custom domain name.

🤓 Installation (Development)

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.

Local Development Installation

  • Clone repository to your local server
  • Create MySQL database
  • Run webpack builder via make build-dev
  • Point your local domain to the public/ directory
  • Rename config/.env.sample to config/.env
  • Fill in your database credentials (username, password, host, dbname) in config/.env
  • Navigate to <localdomain>/install
  • Follow instructions to install database and user account

Development Installation via Docker

For development, we use a dockerized development environment. You will need to have docker, docker compose, make, composer, git and npm installed.

  • Notes for Windows Environments:
    • Run all commands within the git bash terminal in order to utilize unix specific commands
    • If installing php from a zip file, make sure to configure php.ini It does not exist initially, so copy C:\php\php.ini-development to C:\php\php.ini. You will also need to edit php.ini in a text editor and enable all needed extensions for the build process. You can find these by running the make commands and looking for any extensions that error out as missing. You can enable them by searching php.ini for the extension that will look like: ;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

Additionally, 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

🏗 Update

Manual

  • Make sure to take a backup of your database and files
  • Replace all files in your directory with the updated version
  • If there were any database changes, the system will redirect you to <yourdomain.com>/update

Script

  • Execute ./updateLeantime.sh in the root of your leantime application.

Docker

  • Before updating, make sure your mysql container was started using a mounted volume, otherwise your content will be deleted
  • Delete/Stop existing container
  • Pull the latest docker image and rebuild using your compose file