Take control of your agency operations with a comprehensive, open-source platform designed to handle projects, clients, and finances in one place. Replace scattered spreadsheets with a unified system that helps you track every billable hour, monitor budget versus actual costs, and ensure your projects remain profitable from start to finish.
Key features include:
Whether you need to visualize team utilization or generate detailed reports, this platform provides the clarity required to manage your agency efficiently.
services:
postgres:
image: postgres:15-alpine
container_name: worklenz-postgres
restart: unless-stopped
environment:
POSTGRES_USER: worklenz
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: worklenz
volumes:
- ./data/postgres:/var/lib/postgresql/data
networks:
- worklenz-network
redis:
image: redis:7-alpine
container_name: worklenz-redis
restart: unless-stopped
volumes:
- ./data/redis:/data
networks:
- worklenz-network
server:
image: worklenz/server:latest
container_name: worklenz-server
restart: unless-stopped
depends_on:
- postgres
- redis
environment:
PORT: 3000
DB_HOST: postgres
DB_PORT: 5432
DB_USERNAME: worklenz
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE: worklenz
REDIS_HOST: redis
REDIS_PORT: 6379
JWT_SECRET: ${JWT_SECRET}
# Adjust the client URL to match your domain/IP
CLIENT_URL: http://localhost:8080
ports:
- "3000:3000"
networks:
- worklenz-network
client:
image: worklenz/client:latest
container_name: worklenz-client
restart: unless-stopped
depends_on:
- server
environment:
# Adjust the API URL to match your domain/IP
API_URL: http://localhost:3000
ports:
- "8080:80"
networks:
- worklenz-network
networks:
worklenz-network:
driver: bridgeDB_PASSWORD=your_secure_database_password
JWT_SECRET=your_random_generated_secret_keyAuto-fetched 17 minutes ago
Auto-fetched 17 minutes ago