开源项目管理解决方案Leantime

要是从 3 月算起,这都 5 个月了,希望今年不会再折腾了。


什么是 Leantime ?

Leantime 是一个面向初创公司和创新者的开源项目管理解决方案,旨在帮助您管理从构思到交付的项目。Leantime 采用 PHPJavascriptMySQL 编写。

Leantime 的特点:

  • 使用看板、表格和日历视图进行任务管理
  • 创意板和创意看板
  • 使用精益画布的研究板
  • 使用甘特图进行里程碑管理
  • 时间表管理
  • 回顾展
  • 项目仪表板
  • 项目报告
  • 多个用户角色(客户、团队成员、客户经理、经理、管理员)
  • 双重身份验证
  • LDAP 集成
  • MattermostSlackZulip 集成
  • 将时间表、任务和里程碑导出到 CSV
  • 使用 AWS S3 或本地文件系统进行文件存储
  • 提供英语、西班牙语、俄语、荷兰语、德语、法语、希伯来语、日语、葡萄牙语(巴西)、越南语(越南)、中文 (S)、中文 (T)

安装

建数据库

官方提供的 docker-compose 安装方式,需要另外安装 MySQL 镜像,老苏觉得这有点浪费,毕竟群晖已经自带了 MariaDB 数据库。

因为可以指定数据库地址,所以可以直接用群晖的 MariaDB 5

phpMyAdmin 中创建了名为 leantime 的空数据库。

官方用的 MySQL 5.7,老苏群晖中的 MariaDB 5 实际上是 5.5.59-0084,老苏只是简单用了用,暂时没发现什么问题,保险起见,建议直接用 MariaDB 10

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 leantime ,选择第一个 leantime/leantime,版本选择 latest

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
5350 80

默认有两个容器端口

老苏只留下了 80

环境

可变
LEAN_DB_HOST 数据库主机,按前面的设置是 192.168.0.197:3306
LEAN_DB_USER 数据库用户,按前面的设置是 leantime
LEAN_DB_PASSWORD 数据库密码
LEAN_DB_DATABASE 数据库库名,按前面的设置是 leantime

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷,老苏更喜欢命令行,搭建环境比较快捷

1
2
3
4
5
6
7
8
9
10
# 运行容器
docker run -d \
--restart unless-stopped \
--name leantime \
-p 5350:80 \
-e LEAN_DB_HOST=192.168.0.197:3306 \
-e LEAN_DB_USER=leantime \
-e LEAN_DB_PASSWORD=yu347szWNz9v \
-e LEAN_DB_DATABASE=leantime \
leantime/leantime:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

一种方式和 docker cli 一样,使用群晖的数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3.3'

services:
leantime:
image: leantime/leantime:latest
container_name: leantime
environment:
LEAN_DB_HOST: '192.168.0.197:3306'
LEAN_DB_USER: 'leantime'
LEAN_DB_PASSWORD: 'yu347szWNz9v'
LEAN_DB_DATABASE: 'leantime'
ports:
- "5350:80"

另一种方式是数据库也用 docker 方式部署,但做了持久化处理,数据保存在 docker/leantime/data 目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
version: '3.3'

services:
db:
image: mysql:5.7
container_name: mysql_leantime
volumes:
- ./data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: '321.qwerty'
MYSQL_DATABASE: 'leantime'
MYSQL_USER: 'leantime'
MYSQL_PASSWORD: 'yu347szWNz9v'
command: --character-set-server=utf8 --collation-server=utf8_unicode_ci

web:
image: leantime/leantime:latest
container_name: leantime
environment:
LEAN_DB_HOST: 'mysql_leantime'
LEAN_DB_USER: 'leantime'
LEAN_DB_PASSWORD: 'yu347szWNz9v'
LEAN_DB_DATABASE: 'leantime'
ports:
- "5350:80"
depends_on:
- db

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 leantime 和子目录
mkdir -p /volume2/docker/leantime/data

# 进入目录
cd /volume2/docker/leantime

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5350 就能看到安装界面

第一次需要设置登录信息和用户信息

LOGIN INFOEmailPassword为必填的;
USER INFOFirst nameLast nameCompany Name 均要填写

成功之后会有提示

返回 http://群晖IP:5350 就可以看到登录界面

用上一步的 EmailPassword 登录,登录成功后的主界面和向导

设置中文

右上角用户中找到 Company Settings –> Language 中找到 中文(简体)

保存之后,界面就是中文了

bug

本文完成于 5 月下旬,2 个月时间该镜像已经更新了 5~6 版,在本文发布前,老苏已验证在最新版本中,该 bug 已修复,特此说明~

新建创意看板时,不管是中文还是英文,都会遇到 HTTP ERROR 500

但是实际上已经创建成功了

其他的就留给大家自己去研究

参考文档

Leantime/leantime: Leantime is a lean project management system for innovators. Designed to help you manage your projects from ideation to delivery.
地址:https://github.com/Leantime/leantime

Leantime/docker-leantime: Official Docker Image for Leantime https://leantime.io
地址:https://github.com/Leantime/docker-leantime

Open Source Project Management System - Leantime™
地址:https://leantime.io/