diff --git a/1.Projects/Персональний сайт портфоліо/Self Hosted/bookstack.md b/1.Projects/Персональний сайт портфоліо/Self Hosted/bookstack.md new file mode 100644 index 0000000..8ed9b81 --- /dev/null +++ b/1.Projects/Персональний сайт портфоліо/Self Hosted/bookstack.md @@ -0,0 +1,90 @@ +**BookStack** — це безкоштовна відкрита платформа (Open Source, ліцензія MIT) для створення, зберігання та впорядкування документації і корпоративних баз знань. Проєкт розроблено за принципом _self-hosted_ (розгортання на власних серверах компанії), що дає бізнесу повний контроль над даними та інфраструктурою. + +### Ключові можливості та структура + +- **Зрозуміла ієрархія:** Інформація організована за метафорою реальної бібліотеки: **Полиці (Shelves) → Книги (Books) → Розділи (Chapters) → Сторінки (Pages)**. Це спрощує навігацію для співробітників та знижує поріг входження. + +- **Редактори контенту:** Підтримується як простий візуальний редактор (WYSIWYG), так і **Markdown-редактор** із живим попереднім переглядом. + +- **Вбудована інтеграція з diagrams.net (Draw.io):** Дозволяє створювати та редагувати схеми, діаграми процесів та архітектурні креслення прямо всередині сторінок документації без використання сторонніх сервісів. + +- **Пошук та зв’язування:** Наявний глобальний пошук по всьому вмісту, можливість сортування книг, створення прямих посилань на конкретні абзаци та відстеження історії змін (Page Revisions). + + +### Акцент на корпоративному та бізнес-використанні + +1. **Корпоративна автентифікація (Enterprise Authentication)** Окрім стандартного входу за логіном/паролем, BookStack "з коробки" підтримує інтеграцію з корпоративними системами управління ідентифікацією: + + - **LDAP** (для інтеграції з Active Directory / OpenLDAP); + + - **SAML 2.0** (для інтеграції з Okta, Azure AD / Entra ID тощо); + + - **OpenID Connect (OIDC)**. + +2. **Багатофакторна автентифікація (MFA) та безпека** + + - Вбудована підтримка MFA (TOTP-додатки, такі як Google/Microsoft Authenticator, Authy, а також резервні коди). + + - Можливість **примусового ввімкнення MFA на рівні конкретних ролей** (наприклад, обов’язково для адміністраторів або відділу безпеки). + +3. **Гнучка система прав доступу (Roles & Permissions)** + + - Деталізоване налаштування прав: можна обмежувати перегляд, створення, редагування чи видалення контенту. + + - Права можна призначати як на глобальному рівні (системні ролі), так і локально — для окремих книг, розділів чи навіть окремих сторінок. + +4. **Контроль даних та відсутність прив'язки до вендора (No Vendor Lock-in)** + + - Оскільки BookStack розгортається на власних потужностях (побудований на PHP/Laravel та MySQL), корпоративні дані не передаються третім особам та зберігаються повністю всередині периметра компанії. + + - Низькі вимоги до ресурсів дозволяють ефективно масштабувати та підтримувати систему без значних витрат на інфраструктуру. + +5. **Багатомовність та кастомізація** + + - Інтерфейс підтримує понад 30 мов. + + - Можливість налаштування брендингу (зміна назви, логотипу, кольорової гами, налаштування публічного або повністю закритого приватного доступу до бази). +```version: "3.8" + +services: + bookstack: + image: lscr.io/linuxserver/bookstack:latest + container_name: bookstack + environment: + - PID=1000 + - PGID=1000 + - TZ=Europe/Kyiv + - APP_URL=https://bookstack.notefix.net.ua # Вкажи свій домен або локальну IP (наприклад http://192.168.1.50:6875) + - APP_KEY=base64:sxB8ozESs4JosdzKsdnOMdK4f2aQzAnFVpBOIyynWHo= + - DB_HOST=bookstack_db + - DB_USERNAME=bookstack_user + - DB_PASSWORD=kX2zsT5qgW7dtJ4ceU8uqL1inM6vrS # Зміни на свій пароль + - DB_DATABASE=bookstack_db + volumes: + - /mnt/docker_data/bookstack/config:/config + ports: + - "7895:80" + restart: unless-stopped + depends_on: + - bookstack_db + + bookstack_db: + image: lscr.io/linuxserver/mariadb:latest + container_name: bookstack_db + environment: + - PID=1000 + - PGID=1000 + - TZ=Europe/Kyiv + - MYSQL_ROOT_PASSWORD=A4quX0pg9ey3hY2nwI7wnC5bkKkvR1 # Зміни на свій root-пароль + - MYSQL_DATABASE=bookstack_db + - MYSQL_USER=bookstack_user + - MYSQL_PASSWORD=kX2zsT5qgW7dtJ4ceU8uqL1inM6vrS # Має збігатися з DB_PASS вище + volumes: + - /mnt/docker_data/bookstack/db:/config + restart: unless-stopped + +networks: + default: + external: + name: supabase_default +``` \ No newline at end of file