Notefix/1.Projects/Персональний сайт портфоліо/Self Hosted/bookstack.md

91 lines
No EOL
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**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
```