Cómo instalar Leantime en Docker - Gestor de proyectos ágil autohospedado en Docker

Leantime | Project Management | Docker

Leantime: Gestor de proyectos ágil y accesible autohospedado en Docker (alternativa Trello/Asana/Jira)

Tableros Kanban ágiles, roadmaps, sprints, timesheet, research boards. Diseñado para ADHD, autismo, dislexia. UI simple. Multi-proyecto. Time tracking. Reportes. PHP + MySQL. AGPL-3.0 open source.

¿Qué es Leantime?


Leantime es un gestor de proyectos ágil open source diseñado específicamente para equipos no-técnicos, neurodiversos, y startups que necesitan un sistema simple pero poderoso sin la complejidad de Jira o la superficialidad de Trello. Su fortaleza es combinar la simplicidad visual con features empresariales (time tracking, roadmaps, sprints, reportes).

Propuesta clave: Accesibilidad por defecto. Diseñado para personas con ADHD, autismo, y dislexia. UI limpia sin overload de opciones. Kanban boards, roadmaps (Gantt-style), sprints agile, idea/research boards, time tracking integrado, timesheets automáticos, reportes. Multi-proyecto. Importa desde Trello. Webhooks. API JSON-RPC. Plugin system (extensible). Responsive mobile-first.

Características principales: Kanban boards drag-and-drop. Roadmaps visuales con milestones. Sprints configurables (Scrum). Research/Idea boards (brainstorming). Time tracking por tarea. Timesheets automáticos para billing. Reportes (burndown, velocity, time spent). Multi-usuario con roles (admin, member, lead). Multi-proyecto (gestiona múltiples clientes/equipos). OKRs (Objectives & Key Results). Business model canvas. Importa CSV desde Trello/Monday/Asana. Webhooks para integraciones. API JSON-RPC para custom tools. Plugin architecture (crear plugins). Soporte LDAP/SSO. Notificaciones por email. Dark mode. Responsive design (mobile, tablet, desktop). Multi-idioma (15+ idiomas). Reportes en PDF. File attachments. @mentions para colaboración. Activity feed. Dashboard customizable. Soporte SMTP para email. PHP 8.2+ + MySQL 8.0+. AGPL-3.0 open source con plugin exception.

Para startups y equipos ágiles: Project management sin complejidad. Simple. Accesible. Gratis. Self-hosted. Todas las features en edición open source.

Características principales

Kanban boards ágil

Drag-and-drop. Columnas personalizables. Limpieza visual.

Roadmaps & Milestones

Planificación visual largo plazo. Gantt-style. Hitos.

Sprints Scrum

Sprints configurables. Backlog. Burndown charts.

Research/Idea boards

Brainstorming. Captura ideas. Reestructura en tareas.

Time tracking integrado

Log horas en tareas. Automático desde inicio/pausa.

Timesheets para billing

Timesheet automático. Configurable por empleado. Facturable.

Reportes avanzados

Burndown, velocity, time spent, utilización. PDF export.

Multi-usuario RBAC

Admin, Lead, Member. Permisos granulares.

Multi-proyecto

Gestiona múltiples clientes/equipos simultáneamente.

OKRs & Business Canvas

Objetivos y resultados clave. Modelo negocio visual.

Importa CSV (Trello, Monday)

Migración desde herramientas legacy. Sin perder datos.

Webhooks + API JSON-RPC

Integra con herramientas externas. Automatización.

Requisitos del sistema

  • Docker & Docker Compose
  • 2 GB RAM mínimo (PHP + MySQL)
  • 5 GB espacio disco (depende proyectos + attachments)
  • Puerto 80 o custom (configurable)
  • MySQL 8.0+ (incluido en docker-compose)
  • PHP 8.2+ (incluido en imagen Docker)
  • Navegador moderno
Setup ultra-rápido: Docker Compose con MySQL incluido. 60 segundos a funcionar.

Instalación con Docker Compose

Paso 1: Docker Compose (recomendado)

cat > docker-compose.yml << 'EOF' version: '3.8' services: mysql: image: mysql:8.4 container_name: leantime-mysql restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=change_me_securely_123 - MYSQL_DATABASE=leantime - MYSQL_USER=leantime - MYSQL_PASSWORD=change_me_securely_123 volumes: - mysql-data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 3 leantime: image: leantime/leantime:latest container_name: leantime restart: unless-stopped depends_on: mysql: condition: service_healthy ports: - "8080:8080" environment: # BD Connection - LEAN_DB_HOST=mysql - LEAN_DB_USER=leantime - LEAN_DB_PASSWORD=change_me_securely_123 - LEAN_DB_DATABASE=leantime # App config - LEAN_APP_URL=http://localhost:8080 - LEAN_APP_DEFAULT_TIMEZONE=Europe/Madrid # Logging - LEAN_LOG_LEVEL=info volumes: - leantime-userfiles:/var/www/html/userfiles - leantime-public:/var/www/html/public/userfiles - leantime-plugins:/var/www/html/app/Plugins - leantime-logs:/var/www/html/storage/logs volumes: mysql-data: leantime-userfiles: leantime-public: leantime-plugins: leantime-logs: EOF docker compose up -d

Acceder (setup wizard)

http://localhost:8080/install - Wizard de instalación Leantime

Primer setup

  1. Abre http://localhost:8080/install
  2. Verás formulario de setup
  3. Ingresa: email admin, password, nombre, compañía
  4. Click "Install"
  5. Wait 30-60 segundos (setup BD)
  6. Redirect automático a login
  7. Login con credenciales admin creadas
  8. ¡Dashboard listo!

Primeros pasos

1. Crear primer proyecto

  1. Dashboard → "New Project"
  2. Nombre: "Mi Proyecto"
  3. Descripción, cliente, estado
  4. Click "Create"

2. Crear Kanban board

  1. Proyecto → "Boards" → "New Board"
  2. Nombre: "Sprint Actual"
  3. Columnas: To Do, In Progress, Done (default)
  4. Click "Create"

3. Crear tarea (task)

  1. Board → "Add Task"
  2. Nombre tarea, descripción, asignado a
  3. Prioridad, fecha fin, etiquetas
  4. Click "Create"
  5. Aparece en columna "To Do"

4. Mover tarea (drag-and-drop)

  1. Arrastra tarjeta de "To Do" → "In Progress"
  2. Cuando terminas → "Done"
  3. Status auto-se-actualiza

5. Time tracking (log horas)

  1. Abre tarea
  2. Click "Time Tracking"
  3. Ingresa horas gastadas o start timer
  4. Auto-calcula para billing

6. Crear roadmap (planificación largo plazo)

  1. Proyecto → "Roadmap"
  2. Crea milestones (v1.0, v1.1, etc)
  3. Arrastra tareas a milestones
  4. Visualiza timeline

7. Configurar sprint (Scrum)

  1. Proyecto → "Sprints"
  2. Click "New Sprint"
  3. Nombre: "Sprint 1", duración (ej: 2 semanas)
  4. Draggable: tareas backlog → sprint
  5. Start sprint
  6. Ve burndown en tiempo real

8. Ver reportes

  1. Proyecto → "Reports"
  2. Burndown, velocity, tiempo gastado
  3. Export PDF para stakeholders

9. Agregar usuarios (team collaboration)

  1. Settings → "Users"
  2. Click "Add User"
  3. Email, nombre, rol (admin, lead, member)
  4. Asigna a proyectos
  5. Usuario recibe email invite

10. Importar CSV (desde Trello, Monday.com, Asana)

  1. Proyecto → "Import"
  2. Sube CSV exportado de otra herramienta
  3. Leantime mapea campos automáticamente
  4. Importa tarea, usuarios, fechas

Casos de uso

  • Startups y agencias: Multi-proyecto. Time tracking. Reportes para billing. Sin complejidad Jira.
  • Equipos neurodiversos: Diseñado para ADHD, autismo, dislexia. Simpler que Asana/Monday.
  • Equipos ágiles (Scrum): Sprints, burndown, retrospectivas. Metodología integrada.
  • OKR tracking: Objetivos y key results. Alineación estratégica.
  • Migración desde Trello/Asana: Import CSV. Mantén historial. Costo cero.

HTTPS con Caddy (producción)

Caddyfile

projects.tudominio.com { reverse_proxy localhost:8080 }

Acceso remoto seguro

https://projects.tudominio.com con HTTPS automático

Nota: Cambiar LEAN_APP_URL en .env a tu dominio

LEAN_APP_URL=https://projects.tudominio.com

Gestión y mantenimiento

Ver logs

docker compose logs -f leantime docker compose logs -f mysql

Backup de BD (CRÍTICO)

docker compose exec mysql mysqldump -u leantime -p leantime > leantime-$(date +%Y%m%d).sql # Se pide password cuando ejecutas

Backup de archivos (userfiles)

docker cp leantime:/var/www/html/userfiles ./leantime-userfiles-backup-$(date +%Y%m%d)

Restore BD

docker compose exec mysql mysql -u leantime -p leantime < leantime-YYYYMMDD.sql

Reiniciar

docker compose restart

Actualizar a versión más reciente

docker compose pull docker compose up -d # Leantime gestiona migraciones BD automáticamente

Monitorear consumo

docker stats leantime mysql

Limpiar logs antiguos (optimizar)

docker compose exec leantime rm -rf /var/www/html/storage/logs/*

Comparativa con alternativas

vs Jira

Leantime gana: Simpler, accesible, gratis, self-hosted. Jira gana: Enterprise, integraciones, reporting avanzado.

vs Trello

Leantime gana: Time tracking, sprints, reportes, roadmaps. Trello gana: Ultra-simple, Power-ups, más integrations.

vs Asana

Leantime gana: Open source, time tracking, auto-timesheets, sin subscription. Asana gana: Más features, portfolio management, integrations.

vs Monday.com

Leantime gana: Gratis, self-hosted, simpler. Monday gana: Dashboards visuales, automation avanzada, enterprise support.

Mejor para: Equipos que necesitan PM tool completa sin complejidad de Jira ni costo de Asana. Startups, agencias, equipos neurodiversos.

Comentarios

Entradas populares de este blog

NAS SYNOLOGY DSM 7.1 en VMware ESXI - Guía instalación y configuración Synology DSM 7.1 en VMWARE

Solución al error: «user is not in the sudoers file» en Debian

Comando "NET USE", uso, parámetros y algunos ejemplos de uso