Alternativas autohospedadas a Trello: comparación
Compara Planka, Vikunja, Focalboard, Wekan y Kanboard por RAM mínima, base de datos, SSO, importación de Trello y mantenimiento actual.
¿Qué alternativa autohospedada a Trello debería elegir?
Tres alternativas autohospedadas a Trello merecen su atención: Planka si quiere los tableros exactos de Trello y su archivo de importación, Vikunja cuando un equipo necesita inicio de sesión único y algo más que un tablero, y Kanboard cuando el VPS (servidor privado virtual) tiene pocos recursos. No inicie un proyecto nuevo en Focalboard. Su servidor independiente no ha tenido una versión en 783 días, y su README ahora solicita un responsable de mantenimiento.
Wekan es la quinta de las 5 herramientas de esta comparación. Funciona, pero consume varias veces más memoria que las demás. Todas las versiones, licencias y fechas indicadas a continuación se comprobaron el 5 de agosto de 2026.
¿Cuánta RAM necesita cada herramienta de tableros?
The data behind this chart
[
{
"tool": "Planka + Postgres",
"idle_memory_mb": 280
},
{
"tool": "Vikunja + SQLite",
"idle_memory_mb": 110
},
{
"tool": "Focalboard + SQLite",
"idle_memory_mb": 120
},
{
"tool": "Wekan + FerretDB",
"idle_memory_mb": 750
},
{
"tool": "Kanboard + SQLite",
"idle_memory_mb": 70
}
]Estas son cifras de inactividad habituales para una instalación nueva sin usuarios. Es el tipo de valor que docker stats muestra un minuto después de que se inicie la pila. Úselas para dimensionar un plan y después mida su propio entorno. La tendencia importa más que el número exacto de megabytes.
Kanboard es el mínimo, con 70 MB, porque usa PHP con SQLite. Ningún proceso de aplicación de larga duración mantiene los tableros en memoria, por lo que el contenedor permanece prácticamente inactivo entre peticiones. Vikunja es un único binario de Go con 110 MB, y SQLite es su base de datos predeterminada, por lo que un contenedor contiene toda la pila. Planka necesita 280 MB porque siempre consta de dos contenedores: un servidor Node y PostgreSQL. Planka no ofrece una opción con SQLite, por lo que la base de datos no es opcional.
Wekan se sitúa en 750 MB porque es una aplicación Meteor. Meteor mantiene una capa de consultas activas en la memoria de Node y envía cada cambio del tablero a todos los navegadores abiertos mediante un WebSocket. Por eso, su consumo de memoria crece con el número de personas conectadas en lugar de mantenerse estable. En un VPS de 1 GB, Wekan se inicia, pero se detiene la primera vez que varias personas abren un tablero grande. El síntoma es que un contenedor desaparece y vuelve a iniciarse con el código de salida 137, que docker compose ps muestra como un bucle de reinicios. Confírmelo en el host con dmesg -T | grep -i "out of memory", porque el terminador de procesos por falta de memoria del kernel nunca informa a la aplicación.
La dependencia de la base de datos determina la mitad del trabajo de copias de seguridad. Se resume en una línea para cada aplicación. Planka requiere PostgreSQL. Vikunja usa SQLite de forma predeterminada y también admite PostgreSQL y MySQL o MariaDB. Kanboard usa SQLite de forma predeterminada y también admite MySQL, MariaDB y PostgreSQL. Su documentación recomienda PostgreSQL y desaconseja SQLite en NFS (sistema de archivos de red). Focalboard usa SQLite de forma predeterminada. Wekan usa el protocolo de conexión de MongoDB, y su archivo Compose predeterminado incluye ahora FerretDB v1 con un backend SQLite integrado en lugar de un servidor MongoDB real. También existe un archivo Compose independiente para MongoDB 7 si lo necesita.
¿Cuáles de estos proyectos siguen teniendo mantenimiento?
The data behind this chart
[
{
"tool": "Planka 2.1.1",
"release_age": 109
},
{
"tool": "Vikunja 2.5.0",
"release_age": 1
},
{
"tool": "Focalboard 8.0.0",
"release_age": 783
},
{
"tool": "Wekan 10.67",
"release_age": 1
},
{
"tool": "Kanboard 1.2.53",
"release_age": 12
}
]Focalboard es la excepción, con 783 días. Su última versión independiente, v8.0.0, es de junio de 2024. Mattermost trasladó el desarrollo de los tableros a un plugin en un repositorio independiente, y el README de la versión independiente indica que el repositorio no tiene mantenimiento actualmente. Este es el único «no» claro de la comparación. En los demás casos hay que valorar las ventajas y desventajas.
Los 109 días de Planka son un valor saludable para un proyecto que publica unas pocas versiones al año. La versión 2.1.1 es de abril de 2026. Kanboard publicó v1.2.53 12 días antes de la comprobación, y las dos versiones anteriores se publicaron en marzo y abril de 2026.
Vikunja y Wekan publicaron una versión durante el día de la comprobación, pero estos dos datos deben interpretarse de forma distinta. Vikunja etiquetó v2.5.0 como una versión menor ordinaria. Wekan etiquetó v10.65, v10.66 y v10.67 el mismo día, que es su cadencia habitual. Las publicaciones frecuentes no implican un objetivo estable. Con Wekan se elige seguir un número de versión que cambia rápidamente, por lo que debe fijar la etiqueta y leer las notas antes de cada actualización.
¿Obtienes algo más que un tablero?
La mayoría de los artículos comparativos se detienen en «se parece a Trello». Este criterio determina más que la RAM, porque un tablero no es una estructura adecuada para todo lo que tiene una fecha límite.
- Planka es una herramienta de tableros y nada más: proyectos, tableros, listas, tarjetas, etiquetas, listas de comprobación, comentarios y archivos adjuntos. Las vistas de calendario y mapa son funciones Pro desde agosto de 2026.
- Vikunja ofrece cuatro vistas sobre el mismo conjunto de tareas: Lista, Kanban, Tabla y Gantt. Una tarea existe una sola vez y se cambia de vista en lugar de duplicarla.
- Kanboard proporciona tableros con límites de trabajo en curso, subtareas, archivos adjuntos, comentarios, acciones automáticas y un pequeño lenguaje de consulta para filtrar. Su propia página de inicio indica «El número de funciones está limitado deliberadamente», una descripción adecuada.
- Wekan proporciona tableros con carriles, además de listas de comprobación, campos personalizados, una API REST (transferencia de estado representacional) y webhooks.
- Focalboard ofrecía vistas de tablero, tabla y calendario sobre las mismas tarjetas. Se incluye aquí para completar la comparación.
Si lo que realmente quieres es una wiki con algunas funciones de seguimiento de tareas, esta no es la comparación adecuada. BookStack, Wiki.js y Outline cubre ese modelo, y las alternativas autoalojadas a Notion cubren los espacios de trabajo todo en uno.
Acceso multiusuario e inicio de sesión único
Planka admite OpenID Connect en la edición gratuita Community. El archivo Compose oficial incluye la configuración comentada, entre ella OIDC_ISSUER, OIDC_CLIENT_ID y OIDC_CLIENT_SECRET, por lo que sólo debe quitar los comentarios en lugar de actualizar la edición. Los roles de invitado para personas ajenas a su organización son una función de Pro.
Vikunja admite OpenID Connect con varios proveedores a la vez. Configure VIKUNJA_AUTH_OPENID_ENABLED=true y añada después un bloque de variables VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* por cada proveedor. También ofrece equipos y uso compartido por proyecto, que es lo que realmente necesita una organización de veinte personas.
Wekan admite LDAP (protocolo ligero de acceso a directorios), OAuth2, OIDC y SAML. Kanboard incluye compatibilidad con LDAP y un plugin OAuth2 genérico para el resto, además de roles y grupos por proyecto. El servidor independiente de Focalboard no ofrece inicio de sesión único, lo que constituye una segunda razón para descartarlo.
Cualquiera de estas opciones puede integrarse con un proveedor de identidades Authentik que administre usted mismo, que normalmente es una solución mejor que asignar a veinte personas una contraseña distinta para cada aplicación.
¿Puedes importar tus tableros de Trello?
Planka ofrece el proceso más sencillo. Exporta el tablero desde Trello como JSON, crea un tablero en Planka, haz clic en Importar y elige Trello. Lee primero las limitaciones, porque son importantes: los usuarios y los archivos adjuntos no se importan, sólo se importa una lista de comprobación por tarjeta y la exportación JSON predeterminada de Trello se detiene en 1,000 acciones sin avisar que se ha truncado. Comprueba el archivo antes de confiar en el resultado.
Vikunja importa mediante el flujo OAuth de Trello, en Settings y después en "Import from other services". Cada migrador debe estar habilitado en la configuración para que aparezca su icono, y VIKUNJA_SERVICE_PUBLICURL debe ser correcto, porque la redirección OAuth se produce en el navegador y no desde el servidor. Vikunja también importa datos de Todoist, Microsoft To Do, TickTick y Wekan.
Wekan acepta un JSON de tablero de Trello pegado en su formulario de importación. Kanboard no tiene un importador de Trello integrado, que es el motivo principal para descartarlo si tienes que trasladar años de historial de Trello.
¿Cómo es la experiencia en dispositivos móviles?
Vikunja es el único de los cinco que ofrece aplicaciones móviles oficiales. Las versiones para Android e iOS se publican junto con cada versión, y el repositorio de la aplicación se describe como alpha. Por tanto, considérela un complemento de la interfaz web, no como la forma principal de acceder al servicio. Planka no tiene una aplicación oficial del proyecto, aunque su interfaz web es adaptable y existen clientes de terceros. Wekan y Kanboard sólo están disponibles en la web, y la interfaz de Kanboard está claramente diseñada para una pantalla de escritorio.
La cuestión de la licencia y por qué Planka es diferente
Planka ya no es de código abierto, y este es el dato que omiten la mayoría de las comparativas. Comenzó con una licencia MIT, cambió a AGPL-3.0 en 2023 y, a partir de la serie 2.0, se distribuye con PLANKA Community License, una licencia de tipo fair-code propiedad de PLANKA Software GmbH. GitHub muestra su licencia como "Other" porque esa licencia no está aprobada por OSI. Alojarlo en sus propios servidores para sus usuarios es gratuito y está permitido explícitamente para uso personal, interno, sin ánimo de lucro y educativo. Revender el acceso o ejecutarlo como servicio para otras empresas requiere una licencia comercial.
Para dos personas, es un acuerdo razonable. Para una empresa, es una condición que conviene leer antes de incorporar el trabajo de veinte personas. Las otras cuatro opciones son software de código abierto convencional: Vikunja usa AGPL-3.0, Wekan y Kanboard usan MIT, y Focalboard combina Apache 2.0 y AGPL-3.0.
Archivos de Compose fijados para las dos opciones
Fije la etiqueta de la imagen. latest significa que el siguiente docker compose pull puede llevarle a otra versión principal, y las versiones principales ejecutan migraciones de base de datos que no se pueden revertir fácilmente. Los dos archivos siguientes son los archivos originales del proyecto con la etiqueta fijada a una versión publicada real.
Vikunja con SQLite, un contenedor:
services:
vikunja:
image: vikunja/vikunja:2.5.0
restart: unless-stopped
environment:
VIKUNJA_SERVICE_PUBLICURL: https://tasks.example.com
VIKUNJA_SERVICE_SECRET: replace-with-a-long-random-string
VIKUNJA_SERVICE_TIMEZONE: Europe/Berlin
VIKUNJA_DATABASE_TYPE: sqlite
VIKUNJA_DATABASE_PATH: /app/vikunja/files/vikunja.db
ports:
- "127.0.0.1:3456:3456"
volumes:
- ./files:/app/vikunja/filesCree primero el directorio de datos con el propietario correcto, porque el contenedor se ejecuta como UID 1000 y no puede escribir en un directorio propiedad de root:
mkdir -p files && sudo chown 1000 files
docker compose up -d
docker compose ps
curl -sf http://127.0.0.1:3456/api/v1/infoUna pila en buen estado muestra el servicio como running, y el endpoint de información devuelve JSON que contiene un campo version. Un error de conexión rechazada aquí significa que el contenedor terminó. docker compose logs vikunja indica la causa, y un error de permisos en el archivo de base de datos es la causa más habitual.
Planka con PostgreSQL, dos contenedores:
services:
planka:
image: ghcr.io/plankanban/planka:2.1.1
restart: unless-stopped
volumes:
- data:/app/data
ports:
- "127.0.0.1:3000:1337"
environment:
- BASE_URL=https://boards.example.com
- DATABASE_URL=postgresql://postgres@postgres/planka
- SECRET_KEY=replace-with-openssl-rand-hex-64
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=planka
- POSTGRES_HOST_AUTH_METHOD=trust
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
interval: 10s
timeout: 5s
retries: 5
volumes:
data:
db-data:POSTGRES_HOST_AUTH_METHOD=trust significa que PostgreSQL acepta cualquier conexión sin contraseña. Esto es seguro únicamente porque el puerto de la base de datos nunca se publica en el host, por lo que el único elemento que puede acceder a él es el otro contenedor de la misma red de Compose. No añada una entrada ports: al servicio postgres.
Ninguna de las dos pilas debe exponerse directamente a Internet. Ambas se enlazan a 127.0.0.1, por lo que debe colocar un reverse proxy delante y terminar allí TLS (seguridad de la capa de transporte). Traefik delante de varias aplicaciones de Compose es la forma habitual de hacerlo cuando aloja más de una aplicación, y la guía básica de Docker Compose explica las partes de estos archivos que esta página omite.
Tu tablero es una base de datos, así que haz copias de seguridad
Una herramienta de tableros puede fallar sin mostrar errores. Nadie nota que falta una copia de seguridad hasta que desaparece un volumen, y un archivo SQLite dañado puede abrirse normalmente y mostrar database disk image is malformed semanas después.
Nunca copies un archivo SQLite activo con cp. La copia puede capturar una escritura en curso. Por eso, el archivo puede parecer completo y restaurarse como una base de datos a la que le faltan filas. Detén el servicio durante los pocos segundos que tarda la copia:
docker compose stop vikunja
tar czf vikunja-$(date +%F).tgz files
docker compose start vikunjaEn Planka, vuelca PostgreSQL en lugar de copiar el directorio de datos de un clúster en ejecución. Haz también una copia independiente del volumen de cargas, porque los archivos adjuntos no se almacenan en la base de datos:
docker compose exec -T postgres pg_dump -U postgres -Fc planka > planka-db.dump
docker volume ls
docker run --rm -v planka_data:/data -v "$PWD":/backup alpine \
tar czf /backup/planka-files.tgz -C /data .docker volume ls muestra el nombre real del volumen. Ese nombre es el nombre del proyecto de Compose seguido de _data. Si pasas un nombre inexistente, se crea un volumen vacío y obtienes un archivo válido pero vacío, sin ningún error. Comprueba después el tamaño del archivo.
A continuación, restaura la copia una vez en una pila temporal del mismo equipo y abre una tarjeta que recuerdes. Una copia de seguridad que nunca has restaurado es sólo una suposición. Envía también los archivos fuera del servidor, porque una copia almacenada en el VPS que estás protegiendo no es una copia de seguridad. copias de seguridad de restic desde un VPS cubre esa parte.
Dos recomendaciones
Dos personas en un VPS de 2 GB: ejecute Planka. Es lo más parecido a Trello en aspecto y funcionamiento, la importación de Trello consiste en arrastrar un archivo y sus 280 MB de memoria inactiva dejan libre la mayor parte de los 2 GB para el reverse proxy y para cualquier otro servicio que aloje. La Community License cubre sin coste un equipo interno de dos personas. Si prefiere no depender de una licencia disponible para consultar el código fuente, Vikunja con SQLite, con 110 MB, es la opción open source para ese mismo equipo.
Veinte personas en una organización: ejecute Vikunja con PostgreSQL. Con ese tamaño necesita OpenID Connect en lugar de veinte contraseñas locales, necesita equipos y uso compartido por proyecto, y gran parte del trabajo no cabrá en un tablero; por eso las vistas List, Table y Gantt dejan de ser un extra menor. AGPL-3.0 también evita tener que debatir la licencia cuando aumenta el número de usuarios. Asígnele PostgreSQL en lugar de SQLite, colóquelo detrás de un reverse proxy y conserve el volcado diario en un lugar distinto de ese servidor.
Si el equipo tiene menos de 1 GB de RAM, ninguna de las dos opciones es adecuada. Elija Kanboard con 70 MB, acepte que tendrá que volver a introducir sus tarjetas de Trello y use la memoria ahorrada en otra opción de la lista de opciones de self-hosting para 2026. La instalación detallada de la herramienta que elija debe estar en su propia guía. Esta página sólo trata la elección.
FAQ
¿Qué alternativa de Trello autoalojada usa menos RAM?
Kanboard, con aproximadamente 70 MB en reposo, porque está desarrollado en PHP con SQLite y no mantiene datos en memoria entre peticiones. Vikunja le sigue, con unos 110 MB, como un único binario de Go. Wekan es el que más consume, con unos 750 MB, porque Meteor mantiene una capa de consultas activas en la memoria de Node para cada navegador conectado. Mida su propia instalación con docker stats cuando la pila esté en reposo, ya que estas cifras son habituales, no una garantía.
¿Puedo importar mis tableros de Trello a una herramienta autoalojada?
Planka y Wekan aceptan directamente la exportación JSON de tableros de Trello. Vikunja importa mediante el flujo OAuth de Trello, y el migrador debe habilitarse en la configuración antes de que aparezca en la interfaz. Kanboard no tiene un importador integrado. Tenga en cuenta dos limitaciones: Planka no importa usuarios ni archivos adjuntos y sólo admite una lista de comprobación por tarjeta; además, la exportación JSON predeterminada de Trello se detiene en 1,000 acciones sin avisar de que se ha truncado.
¿Focalboard sigue siendo una buena opción en 2026?
No. La última versión independiente, v8.0.0, es de junio de 2024, lo que equivale a 783 días antes de revisar esta comparación el 5 de agosto de 2026. El README indica que el repositorio no recibe mantenimiento actualmente. Mattermost continuó el desarrollo de tableros sólo como un plugin en un repositorio independiente, por lo que la parte que dejó de mantenerse es el servidor que tendría que autoalojar. Elija Planka o Vikunja.
¿Planka sigue siendo de código abierto?
No según la definición de OSI. Planka utilizaba la licencia MIT, cambió a AGPL-3.0 en 2023 y se distribuye con PLANKA Community License desde la versión 2.0. El autoalojamiento es gratuito para uso personal, interno, sin ánimo de lucro y educativo. Revender el acceso o ejecutarlo como servicio para terceros requiere una licencia comercial. La vista de calendario, los roles de invitado y las tarjetas recurrentes están disponibles mediante el nivel Pro. Si necesita obligatoriamente una licencia aprobada por OSI, Vikunja usa AGPL-3.0 y Kanboard usa MIT.
¿Necesito PostgreSQL o es suficiente SQLite?
Vikunja, Kanboard y Focalboard utilizan SQLite de forma predeterminada, lo que es suficiente para unas pocas personas en un mismo servidor. Planka requiere PostgreSQL y no ofrece una opción SQLite. Cambie a PostgreSQL cuando varias personas escriban al mismo tiempo, porque SQLite serializa las escrituras y una instancia con mucha actividad empieza a devolver database is locked. Tampoco coloque un archivo SQLite en un recurso compartido de red: la documentación de Kanboard desaconseja SQLite en NFS precisamente por este motivo.