Leantime logo

Leantime

Goal-focused project management system for non-project managers

Alternative to: trello, asana, jira, clickup, monday.com

Leantime screenshot

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.