Banner

Leantime 部署教程

2026-10-12

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 为实际访问地址。
3