TrackStudio — это классический трекер задач уровня Enterprise с иерархией задач и пользователей, настраиваемыми рабочими процессами, ролями и правами, SLA-правилами и мощным механизмом уведомлений. Поддерживает сотни тысяч задач и десятки тысяч пользователей на одном сервере.

-
Лицензия: Apache License 2.0
-
Стек: Java 21 / Tomcat 9 / PostgreSQL 17 / Hibernate 5.6 / Lucene / Liquibase / Gradle 9 / Docker & Docker Compose
Подробная документация и руководства будут выкладываться в вики. Документация (устаревшая) по TrackStudio 5.5 (коммерческой) находится в папке legacyManual (откройте index.html).
TrackStudio позволяет организовывать задачи и пользователей в виде гибкой иерархии — полезно для настройки прав, разграничения доступа и управления проектами на разных уровнях. Например, консалтинговая фирма может ограничить видимость друг друга между клиентами.
Система поддерживает настройку прав просмотра, редактирования и удаления объектов для отдельных пользователей и групп на уровне проектов, задач, полей, обеспечивая гибкий контроль над доступом.
Вы можете отфильтровать задачи по различным параметрам, а на основе фильтров создавать отчёты в табличном виде. Поддерживается учет отработанных часов.
Разные категориии задач могут иметь разные бизнес-процессы, которые гибко настраиваются.
Пользователи могут настраивать уведомления по электронной почте для различных событий, а также получать обновления через RSS-каналы. Возможна как рассылка оповещений по событиями, так и периодическая рассылка списков задач по критериям. Гибкая настройка шаблонов оповещения по e-mail. Поддерживается импорт задач и сообщений из почты.
TrackStudio поддерживает:
- LDAP
- REST API
Поддержка 10 типов дополнительных полей, включая вычисляемые поля и поля со ссылками/обратными ссылками для организации связей между задачами. Можно настроить права доступа даже для каждого поля.
Поддерживается Java-подобный язык скриптов (Beanshell) для создания триггеров и автоматизации реакций на события в системе. Поддерживается подключение Java-классов в качестве скриптов.
Поддерживаются русский и английский язык интерфейса, UTF-8, часовой пояс и локаль для каждого пользователя.
git clone https://github.com/maximkr/TrackStudio.git
cd TrackStudio
Создайте файл .env
в корне проекта:
# Database configuration
DB_NAME=trackstudio_db
DB_URL=jdbc:postgresql://db:5432/trackstudio_db
DB_USER=trackstudio
DB_PASS=Secure!P@ssw0rd
# Database language for schema initialization
# Values: en (English), ru (Russian)
# Default: en
DB_LANGUAGE=en
Язык схемы базы данных (DB_LANGUAGE
):
en
— английская версия (по умолчанию)ru
— русская версия
⚠️ Замените пример пароля на свой надёжный пароль. Файл.env
лучше не коммитить в VCS.
docker compose up -d --build
Поднимутся:
-
trackstudio-db
— СУБД PostgreSQL -
migrator
— инициализация базы данных (Liquibase) -
trackstudio
— само приложение TrackStudio внутри Tomcat
-
Логин по умолчанию: root
-
Пароль по умолчанию: root
После первого входа настоятельно рекомендуется сменить пароль администратора.
Остановка:
docker compose down
Остановка с удалением базы данных (все данные будут потеряны!):
docker compose down -v
Просмотр логов миграций:
docker compose logs -f migrator
Просмотр логов приложения:
docker compose logs -f trackstudio
-
PostgreSQL — основная СУБД
-
Liquibase — управляет инициализацией БД
-
Tomcat — контейнер сервлетов для веб-приложения
-
TrackStudio WAR — разворачивается в Tomcat
Файл .env
(читается docker compose
) поддерживает:
Переменная | Назначение | Пример |
---|---|---|
DB_NAME | Имя БД | trackstudio_db |
DB_URL | JDBC URL | jdbc:postgresql://db:5432/trackstudio_db |
DB_USER | Имя пользователя | trackstudio |
DB_PASS | Пароль пользователя БД | StrongP@ss_2025 |
DB_LANGUAGE | Язык схемы БД (en/ru) | en |
Изменяйте эти параметры до перового запуска приложения. После первого запуска СУБД будет создана и изменить имя базы/пользователя/пароль можно будет только вручную.
-
Убедитесь, что контейнеры в состоянии
healthy
/running
:docker compose ps
-
Проверьте, что
migrator
завершил выполнение без ошибок:docker compose logs -f migrator
-
Откройте в браузере: http://localhost:8080
-
Порт 8080 занят.
Измените публикацию порта вdocker-compose.yml
(например,8081:8080
) и откройтеhttp://localhost:8081
. -
Не проходят миграции (Liquibase).
Проверьте логиmigrator
:docker compose logs -f migrator
Убедитесь, что пароль БД корректен (
DB_PASS
), контейнерtrackstudio-db
стартовал, а сеть между контейнерами доступна. -
Не удаётся войти под root/root.
Проверьте логи приложения:docker compose logs -f trackstudio
Убедитесь, что миграции прошли успешно и приложение доступно по правильному URL.
-
Нужно “начать с чистого листа”.
Остановите и удалите тома БД:docker compose down -v docker compose up -d --build
Мы приветствуем pull-request’ы и issue с предложениями и баг-репортами:
-
Форкните репозиторий.
-
Создайте ветку фичи:
git checkout -b feature/awesome-thing
. -
Коммиты с понятными сообщениями.
-
PR в
main
с описанием изменений и шагами для проверки.
По всем вопросам пишите: Максим Крамаренко [email protected]
-
Не публикуйте реальные пароли в публичных репозиториях и логах.
-
Меняйте дефолтные креды root/root сразу после первого входа.
-
Для продакшена используйте отдельные секреты (Docker/Swarm/K8s), изолированные сети и бэкапы БД.
Исходный код распространяется по лицензии Apache License 2.0.
См. файл LICENSE
в корне репозитория.
Спасибо всем контрибьюторам и пользователям TrackStudio за идеи, отчёты об ошибках и развитие продукта.