Leantime
Goal-focused project management system for non-project managers
Alternative to: trello, asana, jira, clickup, monday.com
Leantime is an open source project management system built with ADHD, dyslexia, and autism in mind, combining strategy, planning, and execution. It offers kanban boards, Gantt/timeline views, goal and milestone tracking, wikis, and timesheets in a single self-hosted app, positioning itself as simple as Trello but as feature-rich as Jira.
Leantime Docker Compose example
Self-host Leantime on your own server, homelab, or VPS starting from this Docker Compose example.
It runs Leantime in Docker containers using the official mysql:8.4, leantime/leantime:latest images, with persistent volumes and automatic restarts preconfigured.
Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.
services:
leantime_db:
image: mysql:8.4
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
command: --character-set-server=UTF8MB4 --collation-server=UTF8MB4_unicode_ci
environment:
# Password for the MySQL root user.
MYSQL_ROOT_PASSWORD: "changeme"
# Name of the database Leantime uses.
MYSQL_DATABASE: "leantime"
# Username for the Leantime database account.
MYSQL_USER: "leantime"
# Password for the Leantime database account (must match LEAN_DB_PASSWORD).
MYSQL_PASSWORD: "changeme"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 30s
timeout: 10s
retries: 3
leantime:
image: leantime/leantime:latest
restart: unless-stopped
depends_on:
leantime_db:
condition: service_healthy
volumes:
- public_userfiles:/var/www/html/public/userfiles
- userfiles:/var/www/html/userfiles
- plugins:/var/www/html/app/Plugins
- logs:/var/www/html/storage/logs
environment:
# Public base URL, including http:// or https://. Needed for reverse-proxy and subfolder installs.
LEAN_APP_URL: ""
# Hostname of the database container.
LEAN_DB_HOST: "leantime_db"
# Database port.
LEAN_DB_PORT: "3306"
# Database name (must match MYSQL_DATABASE).
LEAN_DB_DATABASE: "leantime"
# Database username (must match MYSQL_USER).
LEAN_DB_USER: "leantime"
# Database password (must match MYSQL_PASSWORD).
LEAN_DB_PASSWORD: "changeme"
# Secret used to salt user sessions. Replace with a strong random string.
LEAN_SESSION_PASSWORD: "changeme"
# Log users out after this many seconds of inactivity (28800 = 8 hours).
LEAN_SESSION_EXPIRATION: "28800"
# Serve session cookies over HTTPS only. Set to true when accessed over HTTPS.
LEAN_SESSION_SECURE: "false"
# Default timezone.
LEAN_DEFAULT_TIMEZONE: "UTC"
# Default language.
LEAN_LANGUAGE: "en-US"
# Name of your site, can be changed later in the UI.
LEAN_SITENAME: "Leantime"
volumes:
db_data:
userfiles:
public_userfiles:
plugins:
logs:
Values set to changeme are required — replace them with your own
values before starting Leantime.
Prefer a managed setup? WinterFlow installs, configures, and updates Leantime for you using this same Docker Compose configuration.