723 - El kanban definitivo! Autoalojado y con Markdown

723 - El kanban definitivo! Autoalojado y con Markdown

Aprende a instalar Tasks.md con Docker. Una alternativa a Trello minimalista, ligera y autoalojada. Controla tus tareas y datos.

1:25
-3:15

Cuando te enfrentas a un proyecto, del tipo que sea, desde cambiar de casa, pasando por construir una casita para el perro, hasta llegar a hacer una aplicación, siempre tienes dos opciones, ir a lo loco, sin plantearte nada, o bien, planificarlo. En el caso de que te decidas a planificarlo, lo que vas a hacer seguro es dividir tu proyecto en tareas mas pequeñas y organizarlas. En muchos casos, simplemente necesitas una pizarra donde plasmar todas esas tareas y ordenarlas. Justo aquí, es donde un Kanban viene fantástico, porque de un solo vistazo tienes una idea completa del estado de tu proyecto, ¿que está terminado?, ¿que estoy haciendo? y ¿que queda por hacer?. Esto, lo puedes llevar a cabo con una simple pizarra con post-it, pero si quieres algo mas elaborado, puedes usar alguna aplicación web como Trello, que es fantástica, pero que tiene el inconveniente de que es un servicio externo y que, además, es muy posible que sea demasiado compleja para lo que tu buscas. En este caso, la solución la puedes encontrar en Tasks.md.

El kanban definitivo! Autoalojado, Ligero y con Markdown

¿Porque Tasks.md?

Como te he contado en otros episodios, ando metido en un proyecto de desarrollo de una aplicación web, y es algo complejo, en lo que a su ámbito se refiere. Como de costumbre, intenté llevar el seguimiento de las tareas con alguna de las aplicaciones tipo Kanban, autoalojadas, que hay por ahí, pero todas me parecían demasiado complejas, o no terminaban de funcionar, o no me encajaban, o … Pero por fortuna di con Tasks.md, y es lo que andaba buscando. Es la primera vez que consigo llevar un proyecto personal con Kanban sin que sea un dolor. Esta herramienta es muy sencilla, y eso es precisamente lo que andaba buscando.

¿Que es Kanban y por qué es tan útil?

Antes de meterme de lleno con Tasks.md, quiero contarte, que es esto de Kanban. Pero no te quiero hablar de la teoría, ni siquiera de los orígenes de la palabra Kanban, para eso te recomiendo que le des un vistazo a la historia de Kanban. Kanban es una forma visual de organizar tu trabajo. Consiste en un tablero con varias columnas donde indicas el estado de cada una de tus tareas. Seguro que lo ha visto en mas de una película. La típica pizarra con post-it, donde tienes una columna de To do, otra de Doing y otra de Done. Pues eso es un Kanban.

La ventaja de usar un Kanban es que, de un solo vistazo, tienes una idea clara del estado de tu proyecto. Además, te permite priorizar las tareas, simplemente poniéndolas mas arriba en la columna en la que se encuentren, y visualizar el flujo de trabajo. Esto es especialmente útil cuando trabajas en equipo, pero también es muy útil para proyectos personales.

Por supuesto, que eso lo puedes hacer con un tablero y unos post-it, y sería mas que suficiente, pero, una aplicación web, te permite llevar un seguimiento mas detallado, añadir descripciones, fechas de vencimiento, etiquetas, etc. Y si es autoalojada, mejor que mejor.

Trello vs Tasks.md. El dilema de la simplicidad

Volvamos al punto de partida, Trello. Sin lugar a dudas, en el momento de escribir el guión de este episodio, Trello es la aplicación mas popular para llevar un Kanban. Es una aplicación web, con una interfaz muy amigable y fácil de usar. Además, tiene muchas funcionalidades, como la posibilidad de añadir etiquetas, fechas de vencimiento, adjuntar archivos, asignación de tareas, calendarios, automatizaciones, integraciones con otras plataformas, etc. Pero, como te he comentado antes, tiene el inconveniente de que es un servicio externo y que puede ser demasiado compleja para lo que tu buscas.

Como te decía anteriormente, todo lo que he probado hasta la fecha, no me ha terminado de funcionar. Y el problema era siempre el mismo, lo enfarragoso que resultaba crear una tarea. Para mi, siempre lo mas importante de una aplicación de este tipo, es que me permita crear tareas de forma rápida y sencilla.

Tasks.md no intenta ser un Trello, su objetivo es ser una herramienta de Kanban pura. Y justo aquí es donde me tiene ganado, porque es en esta simplicidad donde reside su mayor ventaja.

Las ventajas de Tasks.md,

  • Es autoalojado. Tú eres el dueño de tus datos. La información de tus tareas no está en los servidores de una empresa, está en tu propio servidor. Esto es clave si valoras la privacidad y el control. El día de mañana no vas a tener que preocuparte por cambios en las políticas de privacidad o por la posible desaparición del servicio.
  • Minimalista y ligero. La interfaz es limpia, sin distracciones. No hay notificaciones, ni funciones que no vas a usar. Es un tablero y nada más.
  • Markdown. Para mi, como siempre comento, esto del markdown es ya un debe. Casi que si una aplicación no permite markdown, como que ya ni la miro. Menos mal que WordPress permite pegar Markdown. Pero es que además, todo se guarda en archivos de texto plano. Esto significa que puedes ver, editar y gestionar tus tareas desde cualquier editor de texto, ya sea Neovim u Obsidian, y si esto fuera poco, puedes versionarlo con Git.

Pero, no todo son ventajas, por supuesto que tienes inconvenientes,

  • Es autoalojado. Esto es una ventaja, pero también un inconveniente. Tienes que tener un servidor donde alojarlo, y tienes que encargarte de su mantenimiento. Si no tienes conocimientos técnicos, puede ser un problema.
  • No tiene funciones avanzadas. Si necesitas funciones como automatizaciones, integraciones con otras plataformas, etc., esta no es tu herramienta. Pero si solo necesitas un tablero para ti o para un equipo pequeño estas carencias son una ventaja.
  • No tiene gestión de usuarios. No puedes asignar tareas a diferentes usuarios. Si necesitas esta funcionalidad, puedes hacerlo utilizando etiquetas, pero es muy probable, que esta no sea la herramienta que necesitas.

Instalación de Tasks.md

Vamos a ponerlo en marcha, y como de costumbre, lo vamos a instalar de la forma mas sencilla y robusta posible, utilizando Docker y Docker Compose. Si no tienes instalado Docker en tu sistema, te recomiendo el tutorial de Docker, donde te explico como hacerlo, y verás que en un par de minutos lo tienes hecho.

El siguiente paso es crear un directorio para el proyecto, que podría ser perfectamente kanban, y dentro de el un archivo llamado compose.yml con el siguiente contenido,

services:
  kanban:
    image: baldissaramatheus/tasks.md
    container_name: kanban
    restart: unless-stopped
    init: true
    environment:
      PUID: "1000"
      PGID: "1000"
      TITLE: atareao
    volumes:
      - tasks:/tasks
      - config:/config
    networks:
      - proxy
    labels:
      - traefik.enable=true
      - traefik.http.services.kanban.loadbalancer.server.port=8080
      - traefik.http.routers.kanban.entrypoints=https
      - traefik.http.routers.kanban.rule=Host(`kanban.tuservidor.es`)
      - traefik.http.routers.kanban.middlewares=oidc-auth@file
volumes:
  tasks: {}
  config: {}
networks:
  proxy:
    external: true
x-dockge:
  urls:
    - https://kanban.tuservidor.es

Sinergias

Tasks.md es más que un simple tablero web. Al usar archivos Markdown, abre la puerta a un mundo de posibilidades. Por ejemplo, podrías:

  • Sincronizar tus tareas. Usa una herramienta como Syncthing para sincronizar la carpeta data entre tu servidor y tu ordenador personal. Así, tendrás tus tareas disponibles en local incluso sin conexión.
  • Conectar con tus notas. Si usas Obsidian, puedes vincular un archivo de tu tablero Kanban directamente a una nota de tu base de datos de conocimiento. Imagina tener la documentación de un proyecto en una nota y la lista de tareas pendientes vinculada a ella en Tasks.md.
  • Versionar tus proyectos. Sube tu carpeta data a un repositorio Git privado. De esta manera, tendrás un historial de todos los cambios que has hecho en tus tareas.

Algunos inconvenientes

Como te habrás dado cuenta, solo puedes gestionar un único tablero Kanban, y solo con un usuario. ¿Como hacer para cuando quieres gestionar varios proyectos? Para mi la solución mas sencilla es utilizar las etiquetas. Con poner a todas las tareas una etiqueta correspondiente al proyecto, es suficiente. Y si necesitas varios tableros, puedes levantar varias instancias de Tasks.md, cada una con su propio volumen de datos.

El otro problema que indicaba es el de los usuarios. Si varios uusarios van a usar el mismo tablero, no hay problema, pero si quieres asignar tareas a diferentes usuarios, la solución mas sencilla es usar etiquetas. Por ejemplo, puedes crear una etiqueta para cada usuario y asignarla a las tareas correspondientes. Aquí la cuestión es que los usuarios sean responsables y se asignen las tareas que están realizando.

Conclusión

La forma de ganarse Tasks.md mi corazón es su simplicidad. Es una herramienta que hace una cosa y la hace bien. No intenta ser un Trello, ni un Jira, ni un Asana, simplemente es un tablero Kanban. Y para mi, eso es justo lo que necesito. En la mayoría de ocasiones no necesitamos una solución gigantesca para un problema sencillo. Y desde luego, es el Kanban definitivo si valoras tener tus datos bajo control, si te gusta la simplicidad y además buscas una herramienta que se integre perfectamente en tu ecosistema Markdown.

Prueba en tu Raspberry Pi, en un VPS o tu ordenador habitual, y ya me contarás que te parece.


Más información,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *