Worklenz / worklenz
- вторник, 22 июля 2025 г. в 00:00:04
All in one project management tool for efficient teams
Task Management | Time Tracking | Analytics | Resource Management | Project Templates
Worklenz is a project management tool designed to help organizations improve their efficiency. It provides a comprehensive solution for managing projects, tasks, and collaboration within teams.
This repository contains the frontend and backend code for Worklenz.
Choose your preferred setup method below. Docker is recommended for quick setup and testing.
The fastest way to get Worklenz running locally with all dependencies included.
Prerequisites:
Steps:
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
docker-compose up -d
Access the application:
To stop the services:
docker-compose down
Alternative startup methods:
start.bat
./start.sh
Video Guide: For a visual walkthrough of the local Docker deployment process, check out our step-by-step video guide.
For developers who want to run the services individually or customize the setup.
Prerequisites:
Steps:
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
cp worklenz-backend/.env.template worklenz-backend/.env
# Update the environment variables with your configuration
# Backend dependencies
cd worklenz-backend
npm install
# Frontend dependencies
cd ../worklenz-frontend
npm install
# 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
# Terminal 1: Start the backend
cd worklenz-backend
npm run dev
# Terminal 2: Start the frontend
cd worklenz-frontend
npm run dev
For local development, follow the Quick Start (Docker) section above.
When deploying to a remote server:
Set up the environment files with your server's hostname:
# For HTTP/WS
./update-docker-env.sh your-server-hostname
# For HTTPS/WSS
./update-docker-env.sh your-server-hostname true
Pull and run the latest Docker images:
docker-compose pull
docker-compose up -d
Access the application through your server's hostname:
Video Guide: For a complete walkthrough of deploying Worklenz to a remote server, check out our deployment video guide.
Worklenz requires several environment variables to be configured for proper operation. These include:
Please refer to the .env.example
files for a full list of required variables.
The Docker setup uses environment variables to configure the services:
Frontend:
VITE_API_URL
: URL of the backend API (default: http://backend:3000 for container networking)VITE_SOCKET_URL
: WebSocket URL for real-time communication (default: ws://backend:3000)Backend:
For custom configuration, edit the .env
file or the update-docker-env.sh
script.
The project uses MinIO as an S3-compatible object storage service, which provides an open-source alternative to AWS S3 for development and production.
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
Default Bucket: worklenz-bucket (created automatically when the containers start)
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";
For production deployments:
.env
files to version controlIf you believe you have found a security vulnerability in Worklenz, we encourage you to responsibly disclose this and not open a public issue. We will investigate all legitimate reports.
Email info@worklenz.com to disclose any security vulnerabilities.
Worklenz uses Google Analytics to understand how the application is being used. This helps us improve the application and make better decisions about future development.
If you've previously opted in and want to opt-out:
We welcome contributions from the community! If you'd like to contribute, please follow our contributing guidelines.
Worklenz is open source and released under the GNU Affero General Public License Version 3 (AGPLv3).
By contributing to Worklenz, you agree that your contributions will be licensed under its AGPL.