Leantime is a self-hosted project management alternative to Asana, combining lean strategy canvases, milestones, and ADHD-friendly task tracking.
Gloria Folaron, a healthcare worker turned product manager living with ADHD, and Marcel Folaron, an engineering manager running a digital agency, built Leantime after finding mainstream project tools either overwhelmingly cluttered or detached from strategy. They organized the system around cognitive accessibility, embedding business model canvases and idea boards alongside task backlogs. Today, Leantime operates as an on-premises coordination hub where teams plan strategic initiatives without dispatching operational data to third-party clouds.
Asana hosts project roadmaps, sprint backlogs, and client conversations on multi-tenant cloud servers, billing per user. For agencies handling proprietary client assets or ops leads managing internal infrastructure, storing unencrypted project data in an external cloud introduces regulatory risk and vendor lock-in. Leantime shifts that recordkeeping onto private servers. Because you control the database and file storage directly, sensitive deliverables and sprint retrospectives stay behind your firewall.
In exchange, Leantime trades Asana's broad automation library and native mobile apps for infrastructure autonomy. Leantime covers the core coordination tools small teams need: Kanban boards, Gantt timelines, milestones, and goal metrics. However, your team assumes responsibility for maintaining the PHP runtime, managing database backups, and applying Docker updates. For teams prioritizing data privacy and predictable costs, self-hosting an internal workspace provides control that multi-tenant clouds cannot match.
Leantime vs Asana — which should a team choose? Asana suits organizations needing pre-built third-party automations and native mobile clients. Leantime fits teams that require private data control, integrated strategy canvases, and zero per-seat licensing fees.
Is Leantime free for commercial use? Yes, the self-hosted core is free for commercial operations on your own servers. Specialized add-ons and managed cloud hosting are sold separately through the project marketplace.
Can Leantime be deployed using Docker? Yes, the maintainers provide an official Docker image and Compose file that runs alongside MariaDB or MySQL. Persistent storage requires mapping volumes for both the database and the plugin directory.
Leantime is an effective coordination hub for small teams and agencies that want to connect daily tasks to strategic goals on their own hardware. Ongoing maintenance with commits pushed in September 2026 confirms steady active development, while its AGPL-3.0 license protects code transparency provided you are prepared to manage a self-hosted PHP and MariaDB stack.
We started this exact setup from scratch in a clean Linux machine on Nov 2, 2026 and checked it through Leantime's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p leantime && cd leantime
curl -fsSL https://open-source.store/tools/leantime/compose.yml -o compose.ymlcat > .env <<EOF
LEAN_APP_URL=http://localhost:8080
MYSQL_ROOT_PASSWORD=$(openssl rand -hex 12)
LEAN_DB_PASSWORD=$(openssl rand -hex 12)
LEAN_SESSION_PASSWORD=$(openssl rand -hex 12)
ADMIN_PASSWORD=$(openssl rand -hex 12)
EOFLEAN_APP_URL — Public URL where Leantime is hosted. Operators must set their public domain for production use.MYSQL_ROOT_PASSWORD — Root administrative password for the MySQL database server. Generated above; keep it secret.LEAN_DB_PASSWORD — Password for the Leantime application MySQL database user. Generated above; keep it secret.LEAN_SESSION_PASSWORD — Secret key used to salt sessions. Generated above; keep it secret.ADMIN_PASSWORD — Administrator password used by verification smoke tests to secure the initial account. Generated above; keep it secret.docker compose up -dservices:
db:
image: mysql:8.4.3
restart: always
command: --character-set-server=UTF8MB4 --collation-server=UTF8MB4_unicode_ci --innodb-buffer-pool-size=128M
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: leantime
MYSQL_USER: leantime
MYSQL_PASSWORD: ${LEAN_DB_PASSWORD}
volumes:
- leantime-db-data:/var/lib/mysql
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u root -p$${MYSQL_ROOT_PASSWORD} || exit 1"]
interval: 5s
timeout: 5s
retries: 20
start_period: 15s
leantime:
image: leantime/leantime:3.13.2
restart: always
ports:
- "8080:8080"
environment:
LEAN_DB_HOST: db
LEAN_DB_USER: leantime
LEAN_DB_PASSWORD: ${LEAN_DB_PASSWORD}
LEAN_DB_DATABASE: leantime
LEAN_DB_PORT: "3306"
LEAN_APP_URL: ${LEAN_APP_URL}
LEAN_SESSION_PASSWORD: ${LEAN_SESSION_PASSWORD}
volumes:
- leantime-public-userfiles:/var/www/html/public/userfiles
- leantime-userfiles:/var/www/html/userfiles
- leantime-plugins:/var/www/html/app/Plugins
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "curl -f -s http://127.0.0.1:8080/api/i18n || exit 1"]
interval: 5s
timeout: 5s
retries: 20
start_period: 20s
volumes:
leantime-db-data:
leantime-public-userfiles:
leantime-userfiles:
leantime-plugins:
Lint, codegen, breaking-change checks and dependency management in one Git-native CLI. Open source, no registry lock-in.
Show that Leantime is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 99 s: leantime/leantime:3.13.2, mysql:8.4.3.
Based on the upstream setup. Official Docker Compose configuration. Pinned Leantime to 3.13.2 and MySQL to 8.4.3, moved database credentials, session secret, and app URL to .env, and configured healthchecks.
leantime-1 | 2026-11-02T18:34:43.725593386Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /admin/requests/take_action.php" 404 leantime-1 | 2026-11-02T18:34:43.735623719Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.770428219Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.770454511Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.770456428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.770457511Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /wp-content/plugins/mypixs/mypixs/downloadpage.php" 404 leantime-1 | 2026-11-02T18:34:43.770458886Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /wp-content/plugins/mypixs/mypixs/downloadpage.php" 404 leantime-1 | 2026-11-02T18:34:43.861314678Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.861356261Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.879690053Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.910117553Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.970620053Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.980045178Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.986225220Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.999851095Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:43.999866428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.006315970Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.006332386Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.013696428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.013709595Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.013711428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.034991220Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.035008428Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /wp-admin/install.php" 404 leantime-1 | 2026-11-02T18:34:44.040079595Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /wp-admin/install.php" 404 leantime-1 | 2026-11-02T18:34:44.045654386Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.052704428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.058209428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.085941845Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.085954845Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.085956178Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.085957178Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.085958095Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.093238720Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.093250178Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.098083095Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.111201428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.111215886Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.111222011Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /badging/badge_template_print.php" 404 leantime-1 | 2026-11-02T18:34:44.111223345Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /badging/badge_template_print.php" 404 leantime-1 | 2026-11-02T18:34:44.111224386Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.139527136Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.139543845Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.139545261Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /wp-content/themes/mTheme-Unus/css/css.php" 404 leantime-1 | 2026-11-02T18:34:44.139546303Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /wp-content/themes/mTheme-Unus/css/css.php" 404 leantime-1 | 2026-11-02T18:34:44.139547303Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.139696886Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.142152928Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.143132720Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.152552386Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /library/custom_template/share_template.php" 404 leantime-1 | 2026-11-02T18:34:44.152564261Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /library/custom_template/share_template.php" 404 leantime-1 | 2026-11-02T18:34:44.158724761Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.158739011Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.163077928Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.163090428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.165863636Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.170271678Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.178272470Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.180639386Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.180647636Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.181033428Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.185641595Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.186860053Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.212740720Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.212754720Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.212756386Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.212757595Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.219673511Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.230631345Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.242823428Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.242836261Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.246219845Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.259820553Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.259851011Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.259853136Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.277887386Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.278001595Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.299919928Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.309340845Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.332224845Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.332256303Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.338267095Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.358633678Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.358654886Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.375988803Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 303 leantime-1 | 2026-11-02T18:34:44.376012428Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.383220428Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.388378053Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.404271720Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 303 leantime-1 | 2026-11-02T18:34:44.404295011Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.404297053Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.404298345Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.404299428Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.406833386Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.407928636Z 127.0.0.1 - 02/Nov/2026:18:34:43 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.409372303Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.428334345Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.428365053Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.435257261Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.446878345Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.451666553Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.481924345Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.490352511Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.496598678Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.499653511Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.499673220Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.514969928Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.514989511Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 200 leantime-1 | 2026-11-02T18:34:44.525126803Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.526889928Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.531046511Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.534805803Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.538460928Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.550842845Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.557126761Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.558125345Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.568728470Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.578244511Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.582321803Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.604150303Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302 leantime-1 | 2026-11-02T18:34:44.604167720Z 127.0.0.1 - 02/Nov/2026:18:34:44 +0000 "GET /index.php" 302