Leantime 部署教程
Leantime 推荐用 Docker Compose 部署,最快 5 分钟就能跑起来;如果已有 PHP + MySQL 环境,也可以走传统 Web 部署。
一、部署前准备
- Docker / Docker Compose,或 PHP 8.2+、MySQL 8.0+/MariaDB 10.6+、Nginx/Apache
- 至少 2GB 内存、500MB 磁盘空间
- 准备一个域名或本地访问地址,例如
http://127.0.0.1:8080 - 首次安装会访问
/install完成数据库初始化和管理员创建
二、Docker Compose 部署(推荐)
先克隆官方 Docker 仓库:
git clone https://github.com/Leantime/docker-leantime
cd docker-leantime
cp sample.env .env然后编辑 .env,至少修改这些项:
LEAN_PORT=8080
LEAN_APP_URL=http://127.0.0.1:8080
MYSQL_ROOT_PASSWORD=StrongRootPass
MYSQL_DATABASE=leantime
MYSQL_USER=leantime_user
MYSQL_PASSWORD=StrongAppPass
LEAN_DB_HOST=mysql_leantime
LEAN_DB_USER=leantime_user
LEAN_DB_PASSWORD=StrongAppPass
LEAN_DB_DATABASE=leantime
LEAN_SESSION_PASSWORD=RandomSecureString启动服务:
docker compose up -d访问:
http://127.0.0.1:8080/install按页面提示填写邮箱、管理员账号、语言,选择 zh-CN 即可。
三、已有 MySQL 时的简化配置
如果服务器已有 MySQL,可以只部署 Leantime 容器:
docker run -d \
--name leantime \
--restart unless-stopped \
-p 8080:8080 \
-e LEAN_DB_HOST=192.168.1.100 \
-e LEAN_DB_PORT=3306 \
-e LEAN_DB_USER=leantime_user \
-e LEAN_DB_PASSWORD=StrongAppPass \
-e LEAN_DB_DATABASE=leantime \
-e LEAN_SESSION_PASSWORD=RandomSecureString \
-e LEAN_APP_URL=http://yourdomain.com \
leantime/leantime:latest然后同样访问 /install 初始化。
四、传统 PHP 部署
适合需要完全控制服务器环境的场景:
cd /var/www/html
sudo mkdir leantime
sudo chown -R www-data:www-data leantime把最新 Release 包解压到该目录,并将 Web 根目录指向 public/。
复制配置:
cd /var/www/html/leantime
cp config/sample.env config/.env在 .env 中填写数据库信息:
LEAN_DB_HOST=localhost
LEAN_DB_USER=leantime_user
LEAN_DB_PASSWORD=StrongAppPass
LEAN_DB_DATABASE=leantime
LEAN_DB_PORT=3306最后访问:
http://yourdomain.com/install五、Nginx 关键配置
如果使用 Nginx,注意根目录必须指向 public/:
server {
listen 80;
server_name yourdomain.com;
root /var/www/html/leantime/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}六、常见问题
- 页面 404:检查 Web 根目录是否指向
public/,Nginx 是否配置了try_files。 - 安装失败:确认数据库已创建,
LEAN_DB_HOST、用户名、密码正确。 - 插件重启后丢失:需要挂载插件卷
plugins:/var/www/html/app/Plugins。 - Session 报错:检查
storage/session目录权限,HTTP 环境可临时设置LEAN_SESSION_SECURE=false。 - 反向代理访问异常:务必配置
LEAN_APP_URL为实际访问地址。