Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Worklenz/worklenz

All-in-one open-source project management for efficient teams

License Release Stars Forks Issues Discord

Website β€’ Sign in β€’ Documentation


Meet Worklenz, a powerful, open-source project management platform built to help teams plan smarter, collaborate better, and ship faster. No bloated tools. No unnecessary complexity. Just everything your team needs, in one place. πŸš€

Worklenz is growing every day. Your bug reports, feature ideas, and feedback shape what we build next. Jump into Discord or open a GitHub issue - we read everything!

πŸš€ Getting Started

Pick the setup that works best for you:

☁️ Worklenz Cloud

The fastest way to get started - no setup, no infrastructure. Just sign up at worklenz.com and start managing projects in minutes.

πŸ–₯️ Self-Host Worklenz

Prefer full control over your data? Run Worklenz on your own server.

Method Guide
🐳 Docker (Recommended) Quick Docker Setup
πŸ”§ Manual Installation Manual Dev Setup

🌟 Features

  • πŸ—ΊοΈ Project Management - Plan, execute, and monitor projects from start to finish with full visibility across every stage.
  • πŸ“‹ Task Management - Break projects into tasks, set priorities, due dates, and track progress with multiple views (list, board, Gantt).
  • πŸ“ Resource Planning - Allocate the right people to the right tasks at the right time - keep your team balanced and productive.
  • πŸ‘₯ Team & Client Collaboration - Bring your team and clients together in one shared space to align on goals, updates, and deliverables.
  • πŸ’° Financial Insights - Track budgets, costs, and financial performance across projects to keep spending on track and transparent.
  • ⏱️ Time Tracking - Log time directly on tasks to understand where your team's hours are actually going.
  • πŸ“Š Analytics & Reporting - Get real-time insights into project health, team workload, and performance.
  • πŸ—“οΈ Resource Management - Plan team capacity, avoid overallocation, and schedule work with a visual scheduler.
  • 🧩 Project Templates - Start new projects in seconds using pre-built templates for common workflows.
  • 🀝 Team Collaboration - Comment on tasks, share files, and keep all communication in context - right where the work is.

πŸ“Έ Screenshots

Task Management Task List View Task Management Task List View

Task Management Kanban View Task Management Kanban View

Resource Management Resource Management

Projects & Tasks Templates Projects & Tasks Templates

Time Tracking Time Tracking

Project Insights Project Insights

Team Utilization Team Utilization

Scheduler Scheduler

Project Profitability Monitor Project Profitability Monitor

Client Portal Client Portal


βš™οΈ Tech Stack

React TypeScript Express.js PostgreSQL Docker

Layer Technology
Frontend React + Ant Design
Backend TypeScript + Express.js
Database PostgreSQL
Storage MinIO (S3-compatible) / AWS S3 / Azure Blob
Cache Redis
Proxy Nginx

Requirements

  • Node.js version v18 or newer
  • PostgreSQL version v15 or newer
  • Docker and Docker Compose (for containerized setup)

πŸ“ Documentation

Explore Worklenz's product documentation to learn about features, setup, and usage and more.

🐳 Quick Start (Docker β€” Recommended)

The fastest way to get Worklenz running locally with all dependencies included. This setup includes production-ready features like nginx reverse proxy, SSL/TLS support, Redis caching, and automated backups.

πŸ“‹ Prerequisites:

  • Docker and Docker Compose installed on your system
  • Git

πŸͺœ Steps:

Option 1: Automated Setup (Easiest)

# πŸ“₯ Clone the repository
git clone https://github.com/Worklenz/worklenz.git
cd worklenz

# Run the automated setup script
./quick-setup.sh

This script will:

  • βœ… Create .env file with auto-generated security secrets
  • βœ… Configure URLs based on your domain (localhost or production)
  • βœ… Set up SSL certificates (self-signed for localhost, Let's Encrypt for production)
  • βœ… Install and start all services

Option 2: Manual Setup

# πŸ“₯ Clone the repository
git clone https://github.com/Worklenz/worklenz.git
cd worklenz

# πŸ“„ Copy and configure environment file
cp .env.example .env
# Edit .env and set required values (DB_PASSWORD, SESSION_SECRET, etc.)

# ▢️ Start services (Express mode - includes PostgreSQL, Redis, MinIO)
docker compose --profile express up -d

🌐 Access the application:

πŸ› οΈ Management:

# Use the management script for common operations
./manage.sh status    # View service status
./manage.sh logs      # View logs
./manage.sh backup    # Create database backup
./manage.sh stop      # Stop all services
./manage.sh start     # Start all services

For detailed documentation, see DOCKER_SETUP.md

Video Guide: For a visual walkthrough of the local Docker deployment process, check out our step-by-step video guide.

πŸ› οΈ Manual Installation (For Development)

For developers who want to run the services individually or customize the setup.

πŸ“‹ Prerequisites:

  • Node.js (version 18 or higher)
  • PostgreSQL (version 15 or higher)
  • An S3-compatible storage service (like MinIO) or Azure Blob Storage

πŸͺœ Steps:

  1. πŸ“₯ Clone the repository:
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
  1. βš™οΈ Set up environment variables:
cp worklenz-backend/.env.template worklenz-backend/.env
# Update the environment variables with your configuration
  1. πŸ“¦ Install dependencies:
# Backend dependencies
cd worklenz-backend
npm install

# πŸ–₯️ Frontend dependencies
cd ../worklenz-frontend
npm install
  1. πŸ—„οΈ Set up the database:
# Create a PostgreSQL database named worklenz_db
cd worklenz-backend

# Execute the SQL setup files in the correct order
psql -U your_username -d worklenz_db -f database/sql/0_extensions.sql
psql -U your_username -d worklenz_db -f database/sql/1_tables.sql
psql -U your_username -d worklenz_db -f database/sql/indexes.sql
psql -U your_username -d worklenz_db -f database/sql/4_functions.sql
psql -U your_username -d worklenz_db -f database/sql/triggers.sql
psql -U your_username -d worklenz_db -f database/sql/3_views.sql
psql -U your_username -d worklenz_db -f database/sql/2_dml.sql
psql -U your_username -d worklenz_db -f database/sql/5_database_user.sql
  1. ▢️ Start the development servers:
# Backend (single command for build, watch, and auto-restart)
cd worklenz-backend
npm run dev:all

# Frontend (in another terminal)
cd worklenz-frontend
npm run dev
  1. 🌐 Access the application at http://localhost:5000

🚒 Deployment

🏠 Local Development

For local development, follow the Quick Start (Docker) section above.

🌍 Production Deployment

The new Docker setup includes production-ready features for secure and scalable deployments.

⚑ Quick Production Setup

# Clone and navigate to the repository
git clone https://github.com/Worklenz/worklenz.git
cd worklenz

# Run the automated setup
./quick-setup.sh
# When prompted, enter your production domain (e.g., worklenz.example.com)
# The script will configure SSL with Let's Encrypt automatically

πŸ”§ Manual Production Setup

  1. Configure environment for your domain:

    cp .env.example .env
    # Edit .env and set:
    # - DOMAIN=your-domain.com
    # - VITE_API_URL=https://your-domain.com
    # - VITE_SOCKET_URL=wss://your-domain.com
    # - ENABLE_SSL=true
    # - [email protected]
    # - Generate secure secrets for DB_PASSWORD, SESSION_SECRET, etc.
  2. Point your domain's DNS A record to your server IP

  3. Start services with SSL:

    docker compose --profile express --profile ssl up -d
  4. Access your application at: https://your-domain.com

πŸ› οΈ Management Commands

./manage.sh install    # Interactive installation
./manage.sh upgrade    # Upgrade to latest version
./manage.sh backup     # Create database backup
./manage.sh restore    # Restore from backup
./manage.sh ssl        # Manage SSL certificates
./manage.sh status     # View service status

πŸ—‚οΈ Deployment Modes

  • 🟒 Express Mode (default): All services bundled (PostgreSQL, Redis, MinIO)

    docker compose --profile express up -d
  • πŸ”΅ Advanced Mode: Use external services (AWS S3, Azure Blob, external PostgreSQL)

    # Set DEPLOYMENT_MODE=advanced in .env
    docker compose up -d

For complete deployment documentation, see DOCKER_SETUP.md

Video Guide: For a complete walkthrough of deploying Worklenz to a remote server, check out our deployment video guide.

βš™οΈ Configuration

Environment Variables

Worklenz uses a comprehensive environment configuration system. Copy .env.example to .env and configure according to your needs.

πŸ“‚ Key Configuration Areas:

  • Deployment Mode: express (all services bundled) or advanced (external services)
  • Domain & URLs: Configure for localhost or production domain
  • Database: PostgreSQL credentials and connection settings
  • Security Secrets: Session, cookie, and JWT secrets (auto-generated by setup scripts)
  • Storage: MinIO (default), AWS S3, or Azure Blob Storage
  • Redis: Cache configuration (Express mode)
  • SSL/TLS: Let's Encrypt for production, self-signed for localhost
  • Backups: Automated backup retention settings
  • Optional Features: Google OAuth, reCAPTCHA, email notifications

⚑ Quick Configuration:

# Auto-generate all secrets and configure based on domain
./manage.sh auto-configure

# Or manually generate secrets
openssl rand -hex 32  # Use for SESSION_SECRET, COOKIE_SECRET, JWT_SECRET

πŸ“Œ Important Variables:

  • DOMAIN: Your domain (localhost for local testing)
  • DEPLOYMENT_MODE: express or advanced
  • STORAGE_PROVIDER: s3 (MinIO/AWS) or azure
  • ENABLE_SSL: true/false for SSL/TLS
  • BACKUP_RETENTION_DAYS: Days to keep backups (default: 30)

For a complete list of variables with detailed documentation, see .env.example.

πŸͺ£ MinIO Integration

The project uses MinIO as an S3-compatible object storage service, which provides an open-source alternative to AWS S3 for development and production.

πŸ”§ Working with MinIO

MinIO provides an S3-compatible API, so any code that works with S3 will work with MinIO by simply changing the endpoint URL. The backend has been configured to use MinIO by default, with no additional configuration required.

  • πŸ–₯️ MinIO Console: http://localhost:9001

    • Username: minioadmin
    • Password: minioadmin
  • πŸͺ£ Default Bucket: worklenz-bucket (created automatically when the containers start)

πŸ› οΈ Backend Storage Configuration

The backend is pre-configured to use MinIO with the following settings:

// S3 credentials with MinIO defaults
export const REGION = process.env.AWS_REGION || "us-east-1";
export const BUCKET = process.env.AWS_BUCKET || "worklenz-bucket";
export const S3_URL = process.env.S3_URL || "http://minio:9000/worklenz-bucket";
export const S3_ACCESS_KEY_ID = process.env.AWS_ACCESS_KEY_ID || "minioadmin";
export const S3_SECRET_ACCESS_KEY = process.env.AWS_SECRET_ACCESS_KEY || "minioadmin";

πŸ”’ Security

Worklenz is built with security in mind:

  • πŸ” Non-root Docker containers
  • 🌐 Network isolation (backend is internal-only)
  • πŸ”‘ SSL/TLS (Let's Encrypt for production, self-signed for localhost)
  • πŸ›‘οΈ Rate limiting on API and login endpoints
  • πŸ”’ Security headers (HSTS, CSP, X-Frame-Options, etc.)
  • πŸ—οΈ Auto-generated secure secrets via openssl rand -hex 32

Found a security vulnerability? Please do not open a public issue. Email us at [email protected] instead. We take all legitimate reports seriously.

πŸ“ˆ Analytics

Worklenz uses Google Analytics to better understand how the application is used - helping us prioritize improvements and make smarter product decisions.

What we track:

  • πŸ“Š Anonymous usage statistics
  • πŸ—ΊοΈ Page views and navigation patterns
  • 🧩 Feature usage
  • πŸ’» Browser and device information

Your privacy matters:

  • πŸ”˜ Analytics is opt-in only - we never collect data without your consent
  • πŸ™ˆ No personal information is ever collected
  • πŸšͺ You can opt-out at any time by clearing your browser's local storage for the Worklenz domain, or clicking "Decline" in the analytics notice
  • πŸ“œ Data is stored and handled according to Google's Privacy Policy

🀝 Contributing

We love contributions from the community! Here's how you can help:

  • πŸ› Report bugs
  • ✨ Request features
  • πŸ“– Improve the documentation
  • πŸ’¬ Share Worklenz with your team or write about it

Please read CONTRIBUTING.md before submitting a pull request.

Contributors

Thanks to everyone who has contributed to Worklenz! πŸ’™

Contributors

πŸ’™ Community

Join the Worklenz community:

We follow a Code of Conduct across all community spaces.

πŸ“„ License

Worklenz is open source, released under the GNU Affero General Public License v3.0.

By contributing to Worklenz, you agree your contributions will be licensed under AGPL v3.0.



Built with πŸ’™ by the Worklenz team and amazing contributors around the world.
www.worklenz.com