Лучшие self-hosted альтернативы Trello: сравнение
Выбираете замену Trello? Сравнение Planka, Vikunja, Wekan и Kanboard по потреблению RAM, поддержке SSO и импорту данных. Узнайте, какие проекты еще поддерживаются в 2026 году.
Какую self-hosted альтернативу Trello выбрать?
Внимание заслуживают три self-hosted альтернативы Trello: Planka, если вам нужен точный аналог досок Trello и возможность импорта файлов; Vikunja, если команде требуется единый вход (SSO) и функционал шире, чем просто доски; и Kanboard, если ваш VPS (виртуальный выделенный сервер) обладает ограниченными ресурсами. Не начинайте новые проекты на базе Focalboard. Его standalone-сервер не получал обновлений в течение 783 дней, а в файле README теперь требуется новый сопровождающий.
Wekan — пятый из 5 инструментов в этом списке. Он работает, но потребляет в несколько раз больше оперативной памяти, чем остальные. Каждая версия, лицензия и дата, указанные ниже, были проверены 5 августа 2026 года.
Сколько оперативной памяти требуется каждому инструменту для работы с досками?
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
}
]Это типичные показатели потребления в режиме ожидания для свежей установки, к которой никто не подключен; именно такие значения docker stats показывает через минуту после запуска стека. Используйте их для планирования ресурсов, а затем проведите собственные замеры. Общая картина важнее точного количества мегабайт.
Kanboard — это нижний предел, 70 МБ, так как это PHP с SQLite. Никакой постоянно запущенный процесс не удерживает доски в памяти, поэтому в промежутках между запросами контейнер практически не потребляет ресурсов. Vikunja — это единый бинарный файл на Go, потребляющий 110 МБ, и поскольку SQLite является базой данных по умолчанию, весь стек состоит из одного контейнера. Planka требует 280 МБ, так как всегда состоит из двух контейнеров: сервера Node и PostgreSQL. У Planka нет опции использования SQLite, поэтому база данных обязательна.
Wekan потребляет 750 МБ, так как является приложением на базе Meteor. Meteor удерживает слой активных запросов в памяти Node и передает каждое изменение на доске в каждый открытый браузер через WebSocket, поэтому потребление памяти растет вместе с количеством подключенных пользователей, а не остается неизменным. На VPS с 1 ГБ оперативной памяти Wekan запускается, но завершается при первой же попытке нескольких пользователей открыть большую доску. Симптомом является исчезновение контейнера и его последующий перезапуск с кодом выхода 137, что docker compose ps отображает как цикл перезагрузки. Проверьте это на хосте с помощью dmesg -T | grep -i "out of memory", так как механизм out-of-memory killer ядра не уведомляет приложение о причинах завершения.
Зависимость от базы данных определяет половину работы по резервному копированию, поэтому приведем краткую справку по каждому инструменту. Planka требует PostgreSQL. Vikunja по умолчанию использует SQLite, но также поддерживает PostgreSQL, MySQL или MariaDB. Kanboard по умолчанию использует SQLite, но также работает с MySQL, MariaDB и PostgreSQL; документация рекомендует PostgreSQL и предостерегает от использования SQLite на NFS (network file system). Focalboard по умолчанию использует SQLite. Wekan использует протокол MongoDB, и его стандартный файл Compose теперь поставляется с FerretDB v1 со встроенным бэкендом SQLite вместо полноценного сервера MongoDB; при необходимости можно использовать отдельный файл Compose для MongoDB 7.
Какие из этих проектов поддерживаются в настоящее время?
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 выделяется на фоне остальных с показателем 783 дней. Его последний самостоятельный релиз, v8.0.0, вышел в июне 2024 года. Mattermost перенесла разработку досок в плагин в отдельном репозитории, а в README самостоятельной версии указано, что репозиторий в настоящее время не поддерживается. Это единственный однозначный ответ «нет» в данном сравнении. Все остальное — вопрос компромиссов.
Показатель Planka в 109 дней является нормальным для проекта, который выпускает несколько релизов в год. Версия 2.1.1 вышла в апреле 2026 года. Kanboard выпустил v1.2.53 за 12 дней до проверки, а два предыдущих релиза состоялись в марте и апреле 2026 года.
Vikunja и Wekan выпустили обновления в течение одного дня до проверки, однако эти два факта следует интерпретировать по-разному. Vikunja пометила v2.5.0 как обычный минорный релиз. Wekan выпустила v10.65, v10.66 и v10.67 в один и тот же день, что является для проекта стандартным темпом работы. Частые релизы не означают стабильность целевой версии. Выбирая Wekan, вы соглашаетесь следить за быстро меняющимся номером версии, поэтому фиксируйте тег и читайте примечания перед каждым обновлением.
Получаете ли вы что-то большее, чем просто доску?
Большинство сравнительных обзоров заканчиваются на фразе «это похоже на Trello». Этот критерий важнее объема оперативной памяти, так как доска — не самый подходящий формат для задач с жесткими сроками.
- Planka — это инструмент исключительно для работы с досками: проекты, доски, списки, карточки, метки, чек-листы, комментарии и вложения. Календарь и карта доступны только в версии Pro по состоянию на август 2026 года.
- Vikunja предоставляет четыре способа отображения одного набора задач: список, Kanban, таблица и диаграмма Ганта. Задача существует в единственном экземпляре, вы просто переключаете вид вместо дублирования данных.
- Kanboard — это доски с лимитами незавершенной работы (WIP), подзадачами, вложениями, комментариями, автоматическими действиями и простым языком запросов для фильтрации. На официальном сайте указано, что «количество функций намеренно ограничено», что точно описывает суть продукта.
- Wekan — это доски с дорожками (swimlanes), а также чек-листы, настраиваемые поля, REST (representational state transfer) API и вебхуки.
- Focalboard предлагает виды доски, таблицы и календаря для одних и тех же карточек. Этот инструмент включен в список для полноты картины.
Если вам на самом деле нужна вики-система с функциями отслеживания задач, это сравнение вам не подходит. В BookStack, Wiki.js и Outline рассматриваются такие решения, а в альтернативах Notion для self-hosted описаны универсальные рабочие пространства.
Многопользовательский доступ и единый вход (SSO)
Planka поддерживает OpenID Connect в бесплатной версии Community. Официальный Compose-файл содержит эти настройки в закомментированном виде, включая OIDC_ISSUER, OIDC_CLIENT_ID и OIDC_CLIENT_SECRET, поэтому вам нужно просто убрать комментарии, а не обновлять систему. Гостевые роли для пользователей вне вашей организации являются функцией версии Pro.
Vikunja поддерживает OpenID Connect с несколькими провайдерами одновременно. Установите VIKUNJA_AUTH_OPENID_ENABLED=true, затем добавьте по одному блоку переменных VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* для каждого провайдера. В ней также есть команды и совместный доступ к проектам, что и требуется организации из 20 человек.
Wekan поддерживает LDAP (lightweight directory access protocol), OAuth2, OIDC и SAML. В Kanboard встроен LDAP и есть универсальный плагин OAuth2 для всего остального, а также роли и группы для каждого проекта. Автономный сервер Focalboard вообще не поддерживает единый вход, что является второй причиной исключить его из рассмотрения.
Любое из этих решений можно использовать в связке с собственным провайдером идентификации Authentik, что обычно лучше, чем выдавать 20 сотрудникам отдельный пароль для каждого приложения.
Можно ли импортировать доски из Trello?
В Planka реализован самый простой путь. Экспортируйте доску из Trello в формате JSON, создайте доску в Planka, нажмите Import и выберите Trello. Сначала ознакомьтесь с ограничениями, так как они существенны: пользователи и вложения не импортируются, переносится только один чек-лист на карточку, а стандартный экспорт JSON в Trello обрывается на 1000 действий без предупреждения о том, что данные были урезаны. Проверьте файл самостоятельно, прежде чем доверять результату.
Vikunja выполняет импорт через OAuth-авторизацию Trello в разделе Settings, а затем «Import from other services». Каждый инструмент миграции должен быть включен в конфигурации, прежде чем его значок появится в интерфейсе, при этом VIKUNJA_SERVICE_PUBLICURL должен быть указан верно, так как редирект OAuth происходит в вашем браузере, а не на стороне сервера. Vikunja также поддерживает импорт из Todoist, Microsoft To Do, TickTick и Wekan.
Wekan принимает JSON-файл доски Trello, вставленный в форму импорта. В Kanboard нет встроенного импортера из Trello, что является основной причиной отказаться от него, если вам нужно перенести историю работы в Trello за несколько лет.
Как выглядит работа с мобильных устройств?
Vikunja — единственный из пяти инструментов, имеющий официальные мобильные приложения. Сборки для Android и iOS выпускаются вместе с каждым релизом. Репозиторий приложения имеет статус alpha, поэтому рассматривайте его как дополнение к веб-интерфейсу, а не как основной способ работы. У Planka нет официального приложения от разработчиков проекта, хотя его веб-интерфейс адаптивен, а также существуют сторонние клиенты. Wekan и Kanboard работают только через браузер, при этом интерфейс Kanboard явно спроектирован для экранов настольных компьютеров.
Вопрос лицензирования и отличия Planka
Planka больше не является проектом с открытым исходным кодом, и это факт, который упускают большинство сравнений. Проект начинался под лицензией MIT, в 2023 году перешел на AGPL-3.0, а начиная с версии 2.0 распространяется по PLANKA Community License — это лицензия типа fair-code, принадлежащая PLANKA Software GmbH. GitHub определяет её как "Other", поскольку данная лицензия не одобрена OSI. Самостоятельный хостинг для собственных нужд бесплатен и прямо разрешен: это касается личного, внутреннего, некоммерческого и образовательного использования. Перепродажа доступа к продукту или его эксплуатация в качестве сервиса для других компаний требует приобретения коммерческой лицензии.
Для двух пользователей это приемлемые условия. Для компании — это пункт, который необходимо изучить до того, как в систему будет вложена работа двадцати человек. Остальные четыре проекта являются полноценным открытым ПО: Vikunja распространяется под AGPL-3.0, Wekan и Kanboard — под MIT, а Focalboard сочетает в себе Apache 2.0 и AGPL-3.0.
Фиксация версий в Compose-файлах для выбранных решений
Зафиксируйте тег образа. Использование latest означает, что следующий docker compose pull может перевести вас на новую мажорную версию, а мажорные версии запускают миграции базы данных, которые сложно отменить. Оба файла ниже — это оригинальные версии от разработчиков с тегом, привязанным к конкретному релизу.
Vikunja на SQLite, один контейнер:
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/filesСначала создайте каталог для данных с правильным владельцем, так как контейнер работает от имени пользователя с UID 1000 и не может записывать данные в каталог, принадлежащий 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/infoИсправно работающий стек показывает статус сервиса как running, а эндпоинт с информацией возвращает JSON, содержащий поле version. Ошибка Connection refused в этом случае означает, что контейнер завершил работу. docker compose logs vikunja указывает причину, и чаще всего это ошибка прав доступа к файлу базы данных.
Planka на PostgreSQL, два контейнера:
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 означает, что PostgreSQL принимает любые подключения без пароля. Это безопасно только потому, что порт базы данных не публикуется на хост, поэтому единственный способ получить к нему доступ — это другой контейнер в той же сети Compose. Не добавляйте секцию ports: для сервиса postgres.
Ни один из стеков не должен быть доступен напрямую из Интернета. Оба привязаны к 127.0.0.1, поэтому установите перед ними reverse proxy и выполняйте TLS (transport layer security) терминацию там. Traefik перед несколькими Compose-приложениями — это стандартный способ сделать это, когда вы хостите более одного сервиса, а руководство по основам Docker Compose охватывает те части этих файлов, которые пропущены на данной странице.
Ваша доска — это база данных, поэтому делайте резервные копии
Инструменты для работы с досками часто выходят из строя без явных уведомлений. Никто не замечает отсутствия резервной копии, пока том не будет удален, а поврежденный файл SQLite может открываться нормально и сообщить об ошибке только через database disk image is malformed недель.
Никогда не копируйте активный файл SQLite с помощью cp. Копия может захватить процесс записи, из-за чего архив будет выглядеть полным, но при восстановлении в базе данных окажутся пропущенные строки. Остановите сервис на те несколько секунд, которые требуются для копирования:
docker compose stop vikunja
tar czf vikunja-$(date +%F).tgz files
docker compose start vikunjaДля Planka используйте дамп PostgreSQL вместо копирования каталога данных работающего кластера, а том с загрузками сохраняйте отдельно, так как вложения не хранятся в базе данных:
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 выводит реальное имя тома, которое состоит из имени вашего проекта Compose и суффикса _data. Передача несуществующего имени приведет к созданию пустого тома и получению корректного, но пустого архива без каких-либо ошибок, поэтому после выполнения команды проверяйте размер файла.
Затем восстановите его один раз в тестовый стек на том же сервере и откройте карточку, которую вы помните. Резервная копия, которую вы никогда не восстанавливали — это лишь предположение. Отправляйте архивы за пределы сервера, так как копия, хранящаяся на том же VPS, который вы защищаете, не является резервной копией. В restic backups from a VPS рассматривается эта часть задачи.
Две рекомендации
Для двух пользователей на VPS с 2 GB RAM: используйте Planka. По внешнему виду и поведению это максимально близкий аналог Trello, импорт данных из Trello выполняется простым перетаскиванием файла, а 280 MB оперативной памяти в режиме простоя оставляют большую часть из 2 GB свободной для reverse proxy и других ваших сервисов. Community License позволяет бесплатно использовать продукт для внутренней команды из двух человек. Если вы не хотите зависеть от лицензии с ограниченным доступом к исходному коду, Vikunja с использованием SQLite при 110 MB — это выбор с открытым исходным кодом для того же сервера.
Для организации из двадцати человек: используйте Vikunja с PostgreSQL. При таком количестве пользователей вам потребуется OpenID Connect вместо двадцати локальных паролей, необходимы функции команд и совместного доступа к проектам, а значительная часть задач не поместится на доске, поэтому представления в виде списка, таблицы и диаграммы Ганта перестанут быть просто приятным дополнением. Лицензия AGPL-3.0 также означает отсутствие проблем с лицензированием по мере роста штата. Подключите PostgreSQL вместо SQLite, разместите сервис за reverse proxy и сохраняйте ежедневные дампы базы данных на другом сервере.
Если на сервере менее 1 GB RAM, ни один из этих вариантов не подходит. Выбирайте Kanboard с 70 MB, будьте готовы перенести карточки из Trello вручную, а сэкономленную память потратьте на что-то другое из списка сервисов для self-hosting на 2026 год. Подробная инструкция по установке для выбранного вами инструмента находится в отдельном руководстве. Эта страница содержит только рекомендации по выбору.
FAQ
Какая self-hosted альтернатива Trello потребляет меньше всего оперативной памяти?
Kanboard, так как в режиме ожидания он потребляет около 70 МБ. Это PHP-приложение с базой данных SQLite, которое не удерживает данные в памяти между запросами. На втором месте Vikunja с показателем около 110 МБ, так как она представляет собой единый бинарный файл на Go. Wekan является наиболее ресурсоемким решением — около 750 МБ, поскольку Meteor поддерживает слой активных запросов в памяти Node для каждого подключенного браузера. Измерьте потребление на своем сервере с помощью docker stats, когда стек находится в состоянии покоя, так как это типичные значения, а не гарантия.
Могу ли я импортировать свои доски Trello в self-hosted инструмент?
Planka и Wekan поддерживают прямой импорт JSON-файлов экспорта досок Trello. Vikunja выполняет импорт через OAuth-авторизацию Trello, при этом мигратор необходимо включить в конфигурации, чтобы он появился в интерфейсе. В Kanboard встроенный импортер отсутствует. Учитывайте два ограничения: Planka не импортирует пользователей или вложения и поддерживает только один чек-лист на карточку, а стандартный JSON-экспорт Trello обрывается на 1000 действий без предупреждения о том, что данные были усечены.
Остается ли Focalboard хорошим выбором в 2026 году?
Нет. Последний самостоятельный релиз, v8.0.0, вышел в июне 2024 года, что было 783 дней назад относительно даты проверки 5 августа 2026 года, а в README указано, что репозиторий в настоящее время не поддерживается. Mattermost продолжил разработку досок только в виде плагина в отдельном репозитории, поэтому серверная часть, которую вы могли бы развернуть самостоятельно, больше не развивается. Вместо него выберите Planka или Vikunja.
Является ли Planka по-прежнему open source?
Согласно определению OSI — нет. Planka распространялся под лицензией MIT, в 2023 году перешел на AGPL-3.0, а начиная с версии 2.0 поставляется под лицензией PLANKA Community License. Self-hosting бесплатен для личного, внутреннего, некоммерческого и образовательного использования. Перепродажа доступа или предоставление сервиса третьим лицам требует коммерческой лицензии, а календарный вид, гостевые роли и повторяющиеся карточки доступны только в версии Pro. Если наличие лицензии, одобренной OSI, является обязательным требованием, используйте Vikunja (AGPL-3.0) или Kanboard (MIT).
Нужен ли мне PostgreSQL или достаточно SQLite?
Vikunja, Kanboard и Focalboard по умолчанию используют SQLite, чего достаточно для небольшой группы пользователей на одном сервере. Planka требует PostgreSQL и не предлагает опции использования SQLite. Переходите на PostgreSQL, когда несколько пользователей начинают вносить изменения одновременно, так как SQLite сериализует операции записи, и при высокой нагрузке экземпляр начнет возвращать database is locked. Также не размещайте файл SQLite на сетевых ресурсах: документация Kanboard предостерегает от использования SQLite на NFS именно по этой причине.