> ## Content Index
> Fetch the complete content index at: https://www.richarvin.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Docker一键部署worklenz项目管理系统
- URL: https://www.richarvin.com/docker-yi-jian-bu-shu-worklenz-xiang-mu-guan-li-xi-tong/
- Published: 2026-06-05T04:54:45.000Z
- Updated: 2026-09-09T02:55:08.000Z
- Author: Richarvin
- Tags: Docker部署

💡

****Worklenz** 是一款开源的、全功能的团队协同与项目管理平台。它旨在作为 Jira、Asana 或 Monday.com 的轻量化开源替代方案，帮助高效团队告别臃肿的工具箱与复杂的流程配置。系统提供了一套直观的视觉界面，核心功能涵盖敏捷任务管理（支持看板、列表、甘特图等多种视图）、团队资源调配与容量规划，并内置了一键式工时追踪以及实时的数据看板分析。无论是技术团队还是非技术业务部门，都能通过它实现跨部门的无缝无障碍协作，让团队的每日工作流回归清晰与专注。

![](https://picture.richarvin.com/202605/2026060500000/2026060500009.png) 

![](https://picture.richarvin.com/202605/2026060500000/2026060500001.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500002.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500003.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500004.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500005.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500006.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500007.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500008.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500009.png)

![](https://picture.richarvin.com/202605/2026060500000/2026060500001.png) 

## 一、项目简介

---

# 项目简介

作为一款新一代的开源项目管理平台，Worklenz聚焦于“消灭工具臃肿”的核心理念，为组织提供从任务下发、进度跟踪到工时统计的端到端管理能力。系统巧妙地平衡了功能的丰富度与操作的极简性，内置灵活的任务依赖、自定义工作流及多维度报表分析。通过私有化部署，企业不仅能让敏捷开发与日常协作无缝融合，更能将核心业务数据与团队产出资产牢牢掌握在自己手中。

# 技术生态优势

现代化全栈架构：前端基于现代响应式框架（Angular/React + TypeScript）构建，确保极致的流畅交互体验；后端及业务逻辑同样深度拥抱TypeScript生态，底层数据由成熟稳健的 PostgreSQL关系型数据库驱动，技术栈不仅性能优异，且对现代全栈开发者极其友好。

精细化容量与工时规划：区别于传统只做看板的任务工具，Worklenz 从底层数据模型上即内置了“工时追踪（Time Tracking）”与“团队容量（Capacity Planning）”的关联逻辑。支持通过可视化调度器直接调配人力资源，让项目进度与组织效能实现真正的数字化闭环。

生产级安全加固设计：系统在架构设计上将安全性放在首位。官方支持前后端网络隔离（后端仅限内部通信）、API与登录端点高频限流保护（Rate Limiting），并内置 HSTS、CSP、X-Frame-Options 等完备的安全响应头，为企业私有数据筑起坚实屏障。

原生容器化与无缝运维：官方提供完善的Docker部署生态，支持通过Docker Compose实现一键微服务编排。值得一提的是，其容器采用非Root（Non-root）安全模式运行，并提供自动生成 secure secrets的配置脚本，极大地降低了私有化部署、安全平滑升级与自动化运维的门槛。

## 二、环境准备

---

- VPS一台 最低配置2核2G 带宽1M即可
- 服务器系统：本文演示的系统是Ubuntu-24.04.1(LTS)，部署的是测试环境。
- 是否备案：如果服务器在国外，站点无须备案；如果服务器在国内，网站必须备案。
- 提前解析好的域名一个
- 图床一个（又拍云、阿里云oss、腾讯云cos、七牛云等）
- 为了便于后期的升级维护以及卸载，利用docker+Nginx Proxy Manager部署
- 安装好Docker、Docker-compose、Nginx Proxy Manager（[安装教程](https://www.richarvin.com/ubuntu-da-jian-docker-bu-shu-wordpress-bo-ke/)）
- SSH工具：[FinalShell官网](https://www.hostbuf.com/?ref=richarvin.com)
- 项目地址：[Github官网](https://github.com/Worklenz/worklenz?ref=richarvin.com)
- 官方软硬件配置要求请参考以下链接：[Worklenz官网文档说明](https://docs.worklenz.com/en/start/self-host/?ref=richarvin.com)

[官方文档](https://docs.worklenz.com/en/start/introduction/?ref=richarvin.com)

## 三、部署过程

---

### 系统初始化，更新索引

```bash
#更新索引库
sudo apt-get update
```

### 创建部署目录

```bash
# 创建docker项目目录
mkdir -p /root/data/docker_workspace
# 进入目录
cd /root/data/docker_workspace
# 克隆仓库
git clone https://github.com/Worklenz/worklenz.git
# 进入worklenz仓库目录
cd /root/data/docker_workspace/worklenz
```

```bash
# 复制配置模板为实际环境变量文件
cp .env.example .env
```

### 请按需调整测试/生产环境的配置。部分密码值请运行 `openssl rand -hex 32` 生成并替换。

```bash
# ============================================================================
# Worklenz 自托管配置
# ============================================================================
# 将此文件复制为 .env，并根据你的需求进行配置
# 必填项已使用 (REQUIRED) 标记
# ============================================================================

# ============================================================================
# 部署模式
# ============================================================================
# 选择部署模式：
# - express：所有服务内置（包含 PostgreSQL、Redis、MinIO）- 推荐大多数用户使用
# - advanced：使用外部服务（AWS S3、Azure Blob、外部 PostgreSQL）
DEPLOYMENT_MODE=express

# ============================================================================
# 域名与 URL 配置
# ============================================================================
# 你的域名（例如：worklenz.example.com）
# 本地测试：localhost
# 生产环境：your-domain.com
DOMAIN=47.201.62.23

# API 基础地址（前端通过此地址连接后端）
# HTTPS 生产环境：https://your-domain.com
# 本地 HTTP：http://localhost
VITE_API_URL=https://47.201.62.23

# WebSocket 地址（用于实时功能）
# HTTPS 生产环境：wss://your-domain.com
# 本地环境：ws://localhost
VITE_SOCKET_URL=wss://47.201.62.23

# 前端访问地址（后端用于 CORS 与重定向）
# 应与域名地址保持一致
FRONTEND_URL=https://47.201.62.23

# CORS 配置
# 开发环境：*（允许所有来源）
# 生产环境：your-domain.com 或 https://your-domain.com
SERVER_CORS=https://47.201.62.23
SOCKET_IO_CORS=https://47.201.62.23

# ============================================================================
# 端口配置
# ============================================================================
# 暴露到宿主机的端口
HTTP_PORT=80
HTTPS_PORT=443

# ============================================================================
# 数据库配置（PostgreSQL）
# ============================================================================
DB_NAME=worklenz_db
DB_USER=postgres

# 数据库密码（必填）- 请务必修改
DB_PASSWORD=my_secure_postgres_pwd_2026

DB_MAX_CLIENTS=50
USE_PG_NATIVE=false

# 高级配置：外部 PostgreSQL（仅在不使用内置 PostgreSQL 时配置）
# DB_HOST=your-postgres-host.com
# DB_PORT=5432

# ============================================================================
# 安全密钥配置
# ============================================================================
# 可通过以下命令生成安全随机字符串：
# openssl rand -hex 32

# Session 密钥（必填）
SESSION_SECRET=14841fe711df16abd10ea65da9021c21c66b11304231cdad5a40927bed5474cf

# Cookie 密钥（必填）
COOKIE_SECRET=247e1835f6bd5cc55b5df25e182eeb185732ddfe664f83840b2e66b87a3875c5

# JWT 密钥（必填）
JWT_SECRET=6543fb2b9ef1a3d6a8cdfe9d469f450aa8e320dbe97a105e206f58db11fb732b

# Session Cookie 名称
SESSION_NAME=worklenz.sid

# ============================================================================
# Redis 配置
# ============================================================================
# Redis 密码（Express 模式必填）
REDIS_PASSWORD=my_secure_redis_pwd_2026

REDIS_DB=0

# ============================================================================
# 存储配置
# ============================================================================
# 存储提供商：
# s3（适用于 MinIO/AWS S3）
# azure（适用于 Azure Blob Storage）
STORAGE_PROVIDER=s3

# ----------------------------------------------------------------------------
# MinIO 配置（Express 模式默认配置，兼容 S3）
# ----------------------------------------------------------------------------
AWS_REGION=us-east-1
AWS_BUCKET=worklenz-bucket
AWS_ACCESS_KEY_ID=minioadmin

# MinIO Secret Access Key（必填）- 请务必修改
AWS_SECRET_ACCESS_KEY=my_secure_minio_pwd_2026

S3_URL=http://minio:9000
MINIO_BROWSER=on

# ----------------------------------------------------------------------------
# AWS S3 配置（高级模式 - 外部 S3）
# ----------------------------------------------------------------------------
# 如果使用真实 AWS S3（STORAGE_PROVIDER=s3），取消注释并配置以下内容
# AWS_REGION=us-east-1
# AWS_BUCKET=your-worklenz-bucket
# AWS_ACCESS_KEY_ID=your_aws_access_key_id
# AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key
# S3_URL=  # AWS S3 留空（不要填写 MinIO 地址）

# ----------------------------------------------------------------------------
# Azure Blob Storage 配置（高级模式）
# ----------------------------------------------------------------------------
# 如果使用 Azure Blob（STORAGE_PROVIDER=azure），取消注释并配置以下内容
# AZURE_STORAGE_ACCOUNT_NAME=your_storage_account
# AZURE_STORAGE_CONTAINER=worklenz-uploads
# AZURE_STORAGE_ACCOUNT_KEY=your_storage_account_key
# AZURE_STORAGE_URL=https://your_account.blob.core.windows.net

# ============================================================================
# Google OAuth（可选）
# ============================================================================
# 如果需要启用 Google 登录，请进行配置
# 获取凭据地址：
# https://console.cloud.google.com/apis/credentials

# GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
# GOOGLE_CLIENT_SECRET=your-client-secret
# GOOGLE_CALLBACK_URL=http://localhost/api/auth/google/callback
# VITE_ENABLE_GOOGLE_LOGIN=true

# ============================================================================
# 邮件配置（可选）
# ============================================================================
# 如果需要启用邮件通知，请进行配置
# 注意：Worklenz 使用 AWS SES 发送邮件，请配置 SES 凭据

ENABLE_EMAIL_CRONJOBS=true

# CONTACT_US_EMAIL=contact@your-domain.com

# AWS SES 可直接使用上面配置的 AWS 凭据
# AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 同样会被 SES 使用
# AWS_REGION 应设置为 SES 所在区域

# ============================================================================
# Google reCAPTCHA（可选）
# ============================================================================
# 如果需要启用机器人验证，请进行配置
# 获取凭据地址：
# https://www.google.com/recaptcha/admin

# GOOGLE_CAPTCHA_SECRET_KEY=your-secret-key
# GOOGLE_CAPTCHA_PASS_SCORE=0.8
# VITE_ENABLE_RECAPTCHA=true
# VITE_RECAPTCHA_SITE_KEY=your-site-key

# ============================================================================
# 应用配置
# ============================================================================

# 应用标题（浏览器标签页显示）
VITE_APP_TITLE=Worklenz

# 是否启用调查反馈弹窗
VITE_ENABLE_SURVEY_MODAL=false

# 时区设置
TZ=Asia/Shanghai

# ============================================================================
# 备份配置
# ============================================================================

# 备份保留天数（超过此天数的备份将自动删除）
BACKUP_RETENTION_DAYS=30

# ============================================================================
# SSL/TLS 配置
# ============================================================================

# 是否启用 Let's Encrypt SSL（true/false）
ENABLE_SSL=false

# Let's Encrypt 通知邮箱（当 ENABLE_SSL=true 时必填）
# LETSENCRYPT_EMAIL=admin@your-domain.com

# ============================================================================
# Docker 配置
# ============================================================================

# Docker Hub 用户名（用于构建和推送自定义镜像）
# 官方预构建镜像：
# chamikajaycey/worklenz-backend
# chamikajaycey/worklenz-frontend
DOCKER_USERNAME=chamikajaycey

# ============================================================================
# 高级配置（通常无需修改）
# ============================================================================

# 容器内部后端端口
PORT=3000

# Node 运行环境
NODE_ENV=production

# ============================================================================
# 配置指南
# ============================================================================

#
# 快速开始（Express 模式 - 推荐）
# ==========================================
#
# 1. 复制配置文件：
#    cp .env.example .env
#
# 2. 修改以下必填密码：
#    - DB_PASSWORD
#    - SESSION_SECRET（使用 openssl rand -hex 32 生成）
#    - COOKIE_SECRET（使用 openssl rand -hex 32 生成）
#    - JWT_SECRET（使用 openssl rand -hex 32 生成）
#    - AWS_SECRET_ACCESS_KEY（MinIO 密码）
#    - REDIS_PASSWORD
#
# 3. 本地环境：
#    保持 DOMAIN=localhost
#    URL 使用 http://localhost
#
# 4. 生产环境：
#    设置 DOMAIN
#    将所有 URL 修改为 https://your-domain.com
#
# 5. 启动服务：
#    docker compose --profile express up -d
#
#
# 生产环境自定义域名部署
# ==========================================
#
# 1. 设置：
#    DOMAIN=your-domain.com
#
# 2. 更新以下 URL：
#    VITE_API_URL=https://your-domain.com
#    VITE_SOCKET_URL=wss://your-domain.com
#    FRONTEND_URL=https://your-domain.com
#    SERVER_CORS=https://your-domain.com
#    SOCKET_IO_CORS=https://your-domain.com
#
# 3. 开启 SSL：
#    ENABLE_SSL=true
#    LETSENCRYPT_EMAIL=your-email@domain.com
#
# 4. 将域名 DNS 的 A 记录解析到服务器 IP
#
# 5. 启动：
#    docker compose --profile express --profile ssl up -d
#
#
# 高级模式（使用外部服务）
# ==========================================
#
# 1. 设置：
#    DEPLOYMENT_MODE=advanced
#
# 2. 使用 AWS S3：
#    - STORAGE_PROVIDER=s3
#    - 配置 AWS_* 相关变量
#    - S3_URL=""（真实 AWS S3 保持为空）
#
# 3. 使用 Azure Blob：
#    - STORAGE_PROVIDER=azure
#    - 配置 AZURE_* 变量
#
# 4. 使用外部 PostgreSQL：
#    - 取消注释 DB_HOST、DB_PORT
#    - 配置对应连接信息
#
# 5. 带有 express profile 的服务（Redis、MinIO）不会启动
#
#
# Google 登录配置
# ==========================================
#
# 1. 打开：
#    https://console.cloud.google.com/apis/credentials
#
# 2. 创建 OAuth 2.0 凭据
#
# 3. 添加授权回调地址：
#    https://your-domain.com/api/auth/google/callback
#
# 4. 配置：
#    GOOGLE_CLIENT_ID
#    GOOGLE_CLIENT_SECRET
#    GOOGLE_CALLBACK_URL
#
# 5. 启用：
#    VITE_ENABLE_GOOGLE_LOGIN=true
#
# ============================================================================
```

### 启动容器

```bash
# 启动worklenz容器
docker compose --profile express up -d
```

![](https://picture.richarvin.com/202606/202606050002.webp)

使用服务器ip登录

![](https://picture.richarvin.com/202606/202606050003.webp)

点击底部的`注册`按钮，使用任意邮箱作为管理员注册

![](https://picture.richarvin.com/202606/202606050004.webp)

![](https://picture.richarvin.com/202606/202606050005.webp)

![](https://picture.richarvin.com/202606/202606050007.webp)

![](https://picture.richarvin.com/202606/202606050008.webp)

![](https://picture.richarvin.com/202606/202606050009.webp)

![](https://picture.richarvin.com/202606/202606050010.webp)

![](https://picture.richarvin.com/202606/202606050011.webp)

![](https://picture.richarvin.com/202606/202606050012.webp)

![](https://picture.richarvin.com/202606/202606050013.webp)

![](https://picture.richarvin.com/202606/202606050014.webp)

## 

官方推荐 

该存储库包含一个****可用于生产环境的 Docker 配置，** 具有企业级功能，包括 nginx 反向代理、SSL/TLS 支持、Redis 缓存、自动备份和全面的管理脚本。

[官方Docker部署手册 ](https://github.com/Worklenz/worklenz/blob/main/DOCKER%5FSETUP.md?ref=richarvin.com) 

---