Всем привет!
В этом материале мы рассмотрим процесс установки Kanboard в Docker-контейнер на Synology NAS и разберем основные параметры его настройки, включая создание уведомлений для отслеживания прогресса проекта.
Kanboard это инструмент для управления проектами. Он помогает организовать задачи, управлять ресурсами и следить за прогрессом. Kanboard подходит как для одного человека так и для команд, которые работают над сложными проектами и нуждаются в эффективном управлении задачами.
Преимущества Kanboard включают:
- Простота использования: Kanboard имеет интуитивно понятный интерфейс, который позволяет пользователям быстро начать работу и организовать свои задачи.
- Управление задачами: Kanboard позволяет пользователям создавать задачи, устанавливать приоритеты, сроки выполнения и назначать их определенным членам команды.
- Настраиваемость: Kanboard предлагает множество опций настройки, включая темы, поля задач, правила и фильтры. Это позволяет пользователям адаптировать приложение под свои нужды.
- Навыки совместной работы: Kanboard поддерживает совместную работу в команде, позволяя участникам обсуждать задачи, добавлять комментарии и отмечать прогресс.
- Интеграция с другими приложениями: Kanboard может быть интегрирован с другими популярными приложениями, такими как GitHub, GitLab, Trello и другими, что облегчает управление проектами и обмен информацией.
- Безопасность: Kanboard обеспечивает высокий уровень безопасности благодаря шифрованию данных, аутентификации и авторизации пользователей.
- Возможны уведомления на Email(рассмотрено ниже), телеграм, Synology Chat, RocketChat и так далее.
Настроек очень много, вы точно сможете подогнать чуть-ли не каждый проект под себя. Например, можно менять количество колонок и их название и многое другое.
Установка Kanboard на Synology
Для очень больших установок можно подключить LDAP. Если вы не справитесь сами, то пишите мне в раздел фриланс.
В каталоге docker или там где вам больше нравиться создайте папку kanboard, а в ней еще три пустых каталога:
- data – тут будут лежать файлы задач и пользовательская конфигурация
- plugins – тут будут лежать дополнительные плагины
- db – тут будут лежать файлы базы данных
Теперь открываем Container Manager, создаем новый проект, даем ему название, задаем путь и вставляем docker-compose текст
В этом docker-compose тексте не забывайте указать корректный часовой пояс
version: '2'
services:
kanboard-app:
container_name: kanboard-app
image: kanboard/kanboard:latest
ports:
- "8077:80"
# - "8443:443"
depends_on:
- kanboard-db
volumes:
- ./data:/var/www/app/data
- ./plugins:/var/www/app/plugins
# - ./ssl:/etc/nginx/ssl
environment:
DATABASE_URL: mysql://kanboard:kanboard-secret@kanboard-db/kanboard
PLUGIN_INSTALLER: true
restart: always
kanboard-db:
container_name: kanboard-db
image: mariadb:latest
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: kanboard
MYSQL_USER: kanboard
MYSQL_PASSWORD: kanboard-secret
restart: always
volumes:
- ./db:/var/lib/mysql
volumes:
data:
plugins:
# ssl:
db:
networks:
kanboard:
external: false
Если все сделали правильно, то после создания проекта увидите код 0 означающий, что проект благополучно создался.
Немного подождите прежде чем переходить к следующему шагу. Нужно время для создания базы данных.
Ждите пока база не будет проинсталирована и мигрирована на нужную версию.
Теперь откройте новую вкладку в браузере и введите http://IP-NAS:8077. Тут вам нужно заменить IP-NAS на адрес вашего NAS устройства и порт, если вы заменили порт на свое значение. В открывшемся окне введите логин admin и пароль admin
Сразу после входа вы увидите такое окно
Рекомендую первым действием в настройках изменить язык на Русский и указать правильный часовой пояс. В этом же окне можно выставить URL вашего kanboard установленного на Synology. URL поможет генерировать правильные ссылки в почтовых и других уведомлениях.
Обратный прокси Kanboard на Synology
Можно сделать доступ к kanboard по доменному имени через обратный прокси. Откройте панель управления в DSM, портал для входа, дополнительно и обратный прокси. Создайте новое правило. Придумайте название правила. В источнике укажите https, имя домена, например kanboard.XXX.synology.me и 443 порт. В месте назначения укажите http, localhost и порт 8077.
Уведомления kanboard на почту
Для работы с проектами и задачами важно получать уведомления. Для уведомления на почту создайте в папке data файл config.php
Файл config.php должен иметь такое содержание:
<?php
/*******************************************************************/
/* Rename this file to config.php if you want to change the values */
/* */
/* Make sure all paths are absolute by using __DIR__ where needed */
/*******************************************************************/
// Enable/disable email configuration from the user interface
define('MAIL_CONFIGURATION', true);
// E-mail address used for the "From" header (notifications)
define('MAIL_FROM', 'replace-me@kanboard.local');
// E-mail address used for the "Bcc" header to send a copy of all notifications
define('MAIL_BCC', '');
// Mail transport available: "smtp", "sendmail", "mail" (PHP mail function)
define('MAIL_TRANSPORT', 'smtp');
/*********************************************************************************
Исходящая почта Яндекс
Адрес почтового сервера — smtp.yandex.ru.
Защита соединения — SSL.
Порт — 465. Если почтовый клиент начинает соединение без шифрования — 587.
Для доступа к почтовому серверу укажите ваш логин и пароль приложения.
Используйте тот пароль, который вы создали для почтового приложения на предыдущем шаге.
Если вы настраиваете получение почты с ящика вида «login@yandex.ru», логином является часть адреса до знака «@».
*********************************************************************************/
// SMTP configuration to use when the "smtp" transport is chosen
define('MAIL_SMTP_HOSTNAME', 'mail.example.ru');
define('MAIL_SMTP_PORT', 465);
define('MAIL_SMTP_USERNAME', 'username');
define('MAIL_SMTP_PASSWORD', 'password');
define('MAIL_SMTP_HELO_NAME', null); // valid: null (default), or FQDN
define('MAIL_SMTP_ENCRYPTION', "ssl"); // Valid values are null (not a string "null"), "ssl" or "tls"
Затем в настройках kanboard укажите почту, с которой будет рассылаться уведомления и почтовый транспорт smtp.
Рекомендую после этого рестартануть контейнер kanboard-app
Но это не все. У каждого пользователя должен быть указан почтовый ящик, а так же в уведомлениях включен email другие необходимые в этом окне параметры.
Только после этого будут приходить почтовые уведомления на соответствующий ящик соответствующему пользователю.
Уведомления kanboard в телеграм
Так же можно сделать уведомления в телеграм. Для этого в разделе плагины установите соответствующий плагин и действуйте согласно этой инструкции. Если не справитесь, то в разделе фриланс можно обратиться ко мне за помощью.
После настройки интеграции с телеграм, нужно включить уведомления у каждого пользователя в настройках.
Безопасность Kanboard
Защита от подбора пароля Kanboard работает на уровне учетной записи пользователя:
- После 3 сбоев аутентификации для одного и того же имени пользователя в форме входа отображается изображение капчи, чтобы предотвратить автоматические предварительные ошибки бота.
- После 6 сбоев аутентификации учетная запись пользователя блокируется на 15 минут.
Эта функция работает только для методов аутентификации, которые используют форму входа в систему.
Если вы не хотите ждать 15 минут, вы можете разблокировать пользователя из пользовательского интерфейса. Как администратор, перейдите в профиль пользователя и нажмите “Разблокировать этого пользователя”.
Эти настройки можно изменить используя все тот же файл config.php
// Enable captcha after 3 authentication failure
define('BRUTEFORCE_CAPTCHA', 3);
// Lock the account after 6 authentication failure
define('BRUTEFORCE_LOCKDOWN', 6);
// Lock account duration in minutes
define('BRUTEFORCE_LOCKDOWN_DURATION', 15);
Также не забывайте включать двухфакторную авторизацию. Это очень сильно повысит безопасность Kanboard.
Итог
Теперь вы знаете как выполнить установку сервера управление проектами Kanboard на Synology