tududi
Спокойный self-hosted менеджер задач против «бонз»: молодой open-source органайзер задач, проектов, заметок и областей по логике GTD. Мы развернули tududi v1.4.2 в Docker за обратным прокси с валидным TLS и замерили, во что он обходится по железу. Ответ короткий: в простое весь стек ест ~123 МБ RAM.
Вердикт
- кто хочет личный GTD-таск-менеджер под полным контролем
- небольшой команде без бюджета на Jira/Todoist по подписке
- кому важен легкий стек: один контейнер и SQLite
- кому нужны agile-доски, спринты и трекинг задач разработки уровня Jira
- командам, которым критичен зрелый RBAC и SSO из коробки
- кому нужен мобильный клиент со всеми функциями
Что это и какую задачу решает
tududi - это self-hosted система для организации задач и проектов. Автор описывает ее как «спокойную, открытую систему для жизни и работы»: задачи, проекты, заметки, области (areas) и простые рабочие процессы. По структуре это классический GTD: входящие (Inbox) разбираются на проекты и области, задачам ставятся сроки и теги, а разделы «Сегодня» и «Календарь» показывают, за что взяться прямо сейчас.
Смысл self-hosted-варианта в том, что все ваши задачи и заметки лежат на вашем сервере в одном файле базы, а не в чужом облаке по подписке. Это личный органайзер или инструмент для небольшой команды, который ставится за пару минут и почти ничего не весит.
Молодой self-hosted против «бонз»
tududi играет на поле, где давно сидят Todoist, TickTick и Things. Сравниваем по тому, что влияет на выбор, без снисходительности к конкурентам.
| Параметр | tududi | Todoist / TickTick |
|---|---|---|
| Модель цены | бесплатно, MIT, ставите сами | подписка на пользователя |
| Где данные | ваш сервер, файл SQLite | облако вендора |
| Vendor lock-in | нет, экспорт и полный доступ к БД | выгрузка ограничена |
| Вес | ~123 МБ RAM весь стек | SaaS, не ваша забота |
| Зрелость | молодой проект, ~3.3k звезд на GitHub | годы разработки, полные мобильные клиенты |
Категорийно: tududi не «убийца Jira». Это легкий личный GTD-органайзер. Если вам нужны agile-доски и трекер разработки - смотрите наш разбор self-hosted аналогов Jira.
Тех-стек и архитектура
tududi написан на TypeScript: бэкенд на Node.js, фронтенд на React. Хранилище - SQLite, то есть вся база это один файл на диске, без отдельного сервера БД. Официальный образ chrisvel/tududi:latest собирает все приложение в один контейнер, который слушает порт 3002 внутри сети.
Наш стенд разложен на два контейнера: сам tududi и caddy:2-alpine как обратный прокси, который автоматически выпускает и продлевает Let's Encrypt-сертификат. База и загрузки вынесены в тома ./tududi_db и ./uploads, поэтому переживают пересоздание контейнера.
Минимальная конфигурация
Реальные требования против запаса на рост.
| Реально в простое (RAM) | ~123 МБ (tududi 110 + Caddy 12) |
| Образы на диске | ~572 МБ |
| Минимально хватит | CPU1-RAM1-DISK20 |
| Рекомендуем тариф | CPU2-RAM2-DISK40 |
Важно: tududi настолько легкий, что упретесь скорее в удобство работы самого сервера, чем в его аппетит. RAM с запасом нужен под Docker и обновления образов, а не под саму задачу.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий сервис на своем домене, валидный TLS и файл с доступами.
Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес
Развертывание на Fatmetal
Базовый путь - Cloud Server + Ubuntu 24.04 + Docker.
Создать VM
Тариф CPU2-RAM2, Ubuntu 24.04, приложение Docker.
Подготовить compose и .env
mkdir ~/tududi && cd ~/tududi # docker-compose.yml: сервис tududi (chrisvel/tududi:latest, expose 3002) # + caddy:2-alpine с Caddyfile на ваш домен для TLSЗадать доступ
В
.envtududi задаются логин и пароль первого пользователя. Обязательно смените дефолтные значения до первого запуска.Поднять стек
docker compose pull docker compose up -dДождаться статуса
healthyи открыть свой домен по HTTPS.
Что измерили после запуска
Цифры со свежей установки, без нагрузки. Только реальные замеры.
| RAM в простое, tududi | ~110 МБ |
| RAM в простое, Caddy | ~12 МБ |
| Образ tududi | 483 МБ |
| Образ Caddy | 89 МБ |
| Отклик (HTTPS, внешний клиент) | ~0,5-0,6 с TTFB |
Главное: весь стек в простое укладывается в ~123 МБ RAM и почти не грузит CPU. Отклик замерен снаружи и включает сеть до сервера и TLS-хендшейк.
Проверено на версии v1.4.2 (образ от 04.09.2026), сентябрь 2026. На новых версиях результаты могут отличаться.
Где может сломаться
Реальные грабли при запуске tududi в Docker.
Данные в одном файле. Вся база - это SQLite в томе ./tududi_db. Потеряете том - потеряете все. Настройте регулярную копию файла на внешнее хранилище.
Прямой доступ по HTTP. Сам контейнер отдает приложение на 3002 без TLS. Наружу его пускать только через обратный прокси (Caddy/Nginx) с сертификатом, иначе пароль уйдет открытым текстом.
Дефолтные креды. Логин и пароль первого пользователя задаются переменными окружения. Оставите значения из примера - получите открытый вход.
Безопасность и обновления
Апдейты выходят как новые теги образа chrisvel/tududi на Docker Hub, релизы - на GitHub. Обновление:
docker compose pull && docker compose up -d
Бэкап сводится к копии файла базы и загрузок. Пример горячей копии тома:
docker run --rm -v tududi_db:/db -v $PWD:/backup alpine \
tar czf /backup/tududi-db.tgz -C /db .
Связь с другими стеками
- Обратный прокси - Caddy (в нашей сборке) или Nginx Proxy Manager для TLS.
- Бэкапы - копия тома SQLite + выгрузка в S3.
- Трекер разработки - если нужны спринты и доски, см. разбор self-hosted аналогов Jira.
Когда это НЕ ваш выбор
Вам нужен трекер разработки
Спринты, agile-доски, связь коммитов и задач - это к трекерам уровня Jira/Redmine, а не к личному GTD-органайзеру.
Критичны зрелые мобильные клиенты
tududi - молодой проект. Если команда живет в полнофункциональном мобильном приложении, зрелость Todoist/TickTick здесь пока не догнать.
Частые вопросы
Хватит ли 1 GB RAM?
Да. Сам стек в простое ест ~123 МБ, 1 GB закрывает работу с запасом на Docker и обновления.
Нужна ли отдельная база данных?
Нет. tududi использует SQLite - вся база лежит одним файлом в томе, отдельный Postgres/MySQL не нужен.
Можно поставить без Docker?
Проект распространяется прежде всего как Docker-образ; это самый простой и проверенный нами путь.
Можно в продакшен?
Для личного и командного использования - да, при условии обратного прокси с TLS, смены дефолтных кредов и регулярного бэкапа файла базы.
Как делать бэкап?
Копировать том с файлом SQLite (tududi_db) и каталог загрузок. Команда - в разделе «Безопасность».
Какая лицензия?
MIT - свободное использование, в том числе коммерческое.
Итог
tududi - легкий self-hosted GTD-органайзер под MIT: весь стек в простое ест ~123 МБ RAM, ставится в два контейнера и держит все ваши задачи на вашем сервере. Это не замена Jira, а спокойная альтернатива Todoist/TickTick для тех, кому важен контроль над данными и минимум железа.
Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe
Не хотите устанавливать вручную?
Запустите tududi на этой конфигурации автоматически - от 450 ₽/мес.
Стек у нас запущен на тарифе CPU2-RAM2. Нашли баг в гайде - напишите, поправим в течение дня.