feat: implement TTS, Document processing, and Memory Service /facts API
- TTS: xtts-v2 integration with voice cloning support
- Document: docling integration for PDF/DOCX/PPTX processing
- Memory Service: added /facts/upsert, /facts/{key}, /facts endpoints
- Added required dependencies (TTS, docling)
This commit is contained in:
296
DETAILED-DISK-ANALYSIS.md
Normal file
296
DETAILED-DISK-ANALYSIS.md
Normal file
@@ -0,0 +1,296 @@
|
||||
# 📊 Детальний аналіз використання диску
|
||||
|
||||
**Дата:** 2026-01-12
|
||||
**Детальний розбір кожного джерела**
|
||||
|
||||
---
|
||||
|
||||
## 1. 🔍 Monero Blockchain: 91GB
|
||||
|
||||
### Що це таке?
|
||||
|
||||
**Monero** - це криптовалюта з фокусом на приватність. Blockchain - це база даних всіх транзакцій.
|
||||
|
||||
### Що займає місце?
|
||||
|
||||
**Розташування:** `~/.bitmonero/lmdb/data.mdb`
|
||||
|
||||
**Розмір:** 91GB - це один файл бази даних LMDB (Lightning Memory-Mapped Database)
|
||||
|
||||
**Що містить:**
|
||||
- Всі блоки blockchain Monero (з моменту запуску)
|
||||
- Всі транзакції
|
||||
- Індекси для швидкого пошуку
|
||||
- Метадані
|
||||
|
||||
### Чому так багато?
|
||||
|
||||
Monero blockchain росте постійно. Кожен блок містить:
|
||||
- Транзакції (з обфускацією для приватності)
|
||||
- Ring signatures (підписи кільця)
|
||||
- Stealth addresses (приховані адреси)
|
||||
- Range proofs (докази діапазону)
|
||||
|
||||
Це все займає більше місця ніж звичайний blockchain (наприклад, Bitcoin).
|
||||
|
||||
### Що робити?
|
||||
|
||||
**Варіант 1: Видалити (якщо не використовуєте Monero)**
|
||||
```bash
|
||||
rm -rf ~/.bitmonero
|
||||
```
|
||||
**Звільнить:** 91GB
|
||||
|
||||
**Варіант 2: Перенести на зовнішній диск**
|
||||
```bash
|
||||
# Зупинити Monero wallet
|
||||
# Перенести
|
||||
mv ~/.bitmonero /Volumes/ExternalDisk/
|
||||
# Створити симлінк
|
||||
ln -s /Volumes/ExternalDisk/.bitmonero ~/.bitmonero
|
||||
```
|
||||
|
||||
**Варіант 3: Залишити (якщо використовуєте)**
|
||||
- Blockchain продовжить рости
|
||||
- Можна налаштувати pruned node (зменшує розмір, але втрачає повну історію)
|
||||
|
||||
---
|
||||
|
||||
## 2. 🔍 Cursor Worktrees: 2 моделі по 61GB
|
||||
|
||||
### Що це таке?
|
||||
|
||||
**Cursor worktrees** - це тимчасові копії проєкту, які створює Cursor IDE для роботи з AI.
|
||||
|
||||
### Що займає місце?
|
||||
|
||||
**Розташування:**
|
||||
- `~/.cursor/worktrees/microdao-daarion/s4s0P/models/qwen3-vl-32b-instruct/qwen3-vl-32b-instruct-f16.gguf` - 61GB
|
||||
- `~/.cursor/worktrees/microdao-daarion/6IOTQ/models/qwen3-vl-32b-instruct/qwen3-vl-32b-instruct-f16.gguf` - 61GB
|
||||
|
||||
**Всього:** 122GB (2 копії однієї моделі)
|
||||
|
||||
### Чому дві копії?
|
||||
|
||||
Cursor створює окремий worktree для кожної AI сесії або контексту. Можливо:
|
||||
- Дві різні сесії роботи
|
||||
- Два різні контексти
|
||||
- Помилка (не видалився старий worktree)
|
||||
|
||||
### Що робити?
|
||||
|
||||
**Варіант 1: Видалити одну копію (рекомендовано)**
|
||||
```bash
|
||||
# Перевірити яка новіша
|
||||
ls -lh ~/.cursor/worktrees/microdao-daarion/s4s0P/models/qwen3-vl-32b-instruct/
|
||||
ls -lh ~/.cursor/worktrees/microdao-daarion/6IOTQ/models/qwen3-vl-32b-instruct/
|
||||
|
||||
# Видалити старішу (або обидві якщо не потрібні)
|
||||
rm -rf ~/.cursor/worktrees/microdao-daarion/s4s0P
|
||||
# АБО
|
||||
rm -rf ~/.cursor/worktrees/microdao-daarion/6IOTQ
|
||||
```
|
||||
**Звільнить:** 61GB
|
||||
|
||||
**Варіант 2: Видалити обидві (якщо не потрібні)**
|
||||
```bash
|
||||
rm -rf ~/.cursor/worktrees/microdao-daarion/s4s0P
|
||||
rm -rf ~/.cursor/worktrees/microdao-daarion/6IOTQ
|
||||
```
|
||||
**Звільнить:** 122GB
|
||||
|
||||
**Варіант 3: Перенести на зовнішній диск**
|
||||
```bash
|
||||
# Перенести моделі
|
||||
mv ~/.cursor/worktrees/microdao-daarion/s4s0P/models /Volumes/ExternalDisk/
|
||||
# Створити симлінк
|
||||
ln -s /Volumes/ExternalDisk/models ~/.cursor/worktrees/microdao-daarion/s4s0P/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 🔍 Docker.raw: 1.8TB
|
||||
|
||||
### Що це таке?
|
||||
|
||||
**Docker.raw** - це віртуальний диск, який використовує Docker Desktop для зберігання всіх даних Docker.
|
||||
|
||||
### Що займає місце?
|
||||
|
||||
**Розташування:** `~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw`
|
||||
|
||||
**Розмір:** 1.8TB (майже весь диск!)
|
||||
|
||||
**Що містить:**
|
||||
- Docker образи (images)
|
||||
- Контейнери (containers)
|
||||
- Volumes (дані контейнерів)
|
||||
- Build cache
|
||||
- Networks
|
||||
- Логи
|
||||
|
||||
### Чому так багато?
|
||||
|
||||
**Можливі причини:**
|
||||
1. **Великі образи** - багато Docker образів накопичилось
|
||||
2. **Volumes з даними** - контейнери зберігають дані в volumes
|
||||
3. **Build cache** - кеш збірки образів
|
||||
4. **Логи** - великі log файли
|
||||
5. **Невикористовувані ресурси** - старі образи, зупинені контейнери
|
||||
|
||||
### Що робити?
|
||||
|
||||
**Крок 1: Очистити Docker (безпечно)**
|
||||
```bash
|
||||
# Перевірити що займає місце
|
||||
docker system df
|
||||
|
||||
# Очистити все невикористовуване
|
||||
docker system prune -a --volumes -f
|
||||
|
||||
# Перевірити результат
|
||||
docker system df
|
||||
```
|
||||
|
||||
**Крок 2: Зменшити розмір Docker.raw**
|
||||
|
||||
**Через Docker Desktop:**
|
||||
1. Відкрити Docker Desktop
|
||||
2. Settings → Resources → Advanced
|
||||
3. Disk image size → зменшити до 128GB (або 256GB якщо потрібно більше)
|
||||
4. Apply & Restart
|
||||
|
||||
**УВАГА:** Docker автоматично зменшить розмір файлу, але це може зайняти час.
|
||||
|
||||
**Крок 3: Перевірити volumes**
|
||||
```bash
|
||||
# Перевірити volumes
|
||||
docker volume ls
|
||||
docker volume inspect <volume-name>
|
||||
|
||||
# Видалити невикористовувані volumes
|
||||
docker volume prune -f
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. ⚠️ Чи не вплине зменшення Docker.raw на НОДА2?
|
||||
|
||||
### Відповідь: НІ, не вплине (якщо правильно зробити)
|
||||
|
||||
### Чому безпечно?
|
||||
|
||||
1. **Docker.raw - це максимальний розмір, не фактичний**
|
||||
- Docker.raw може бути 1.8TB, але фактично використовується менше
|
||||
- Зменшення до 128GB просто обмежує максимальний розмір
|
||||
|
||||
2. **Docker автоматично очистить зайве**
|
||||
- При зменшенні Docker видалить невикористовувані дані
|
||||
- Активні контейнери та образи залишаться
|
||||
|
||||
3. **НОДА2 використовує тільки активні ресурси**
|
||||
- Якщо контейнери працюють - вони залишаться
|
||||
- Якщо образи використовуються - вони залишаться
|
||||
|
||||
### Що може статися?
|
||||
|
||||
**Проблема 1: Недостатньо місця після зменшення**
|
||||
- Якщо фактично використовується більше 128GB
|
||||
- Docker не зможе зменшити розмір
|
||||
- Потрібно спочатку очистити
|
||||
|
||||
**Рішення:**
|
||||
```bash
|
||||
# Спочатку очистити
|
||||
docker system prune -a --volumes -f
|
||||
|
||||
# Перевірити фактичне використання
|
||||
docker system df
|
||||
|
||||
# Якщо менше 128GB - можна зменшувати
|
||||
```
|
||||
|
||||
**Проблема 2: Втрата невикористовуваних даних**
|
||||
- Старі образи можуть бути видалені
|
||||
- Невикористовувані volumes можуть бути видалені
|
||||
|
||||
**Рішення:**
|
||||
- Зробити backup важливих volumes перед очищенням
|
||||
- Перевірити які образи потрібні
|
||||
|
||||
### Рекомендований план для НОДА2:
|
||||
|
||||
1. **Перевірити що працює:**
|
||||
```bash
|
||||
docker ps
|
||||
docker images
|
||||
docker volume ls
|
||||
```
|
||||
|
||||
2. **Очистити невикористовуване:**
|
||||
```bash
|
||||
docker system prune -a --volumes -f
|
||||
```
|
||||
|
||||
3. **Перевірити фактичне використання:**
|
||||
```bash
|
||||
docker system df
|
||||
```
|
||||
|
||||
4. **Якщо менше 128GB - зменшити:**
|
||||
- Через Docker Desktop Settings
|
||||
- Disk image size → 128GB
|
||||
|
||||
5. **Перевірити що все працює:**
|
||||
```bash
|
||||
docker ps
|
||||
curl http://localhost:9102/health
|
||||
curl http://localhost:8890/health
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Підсумок
|
||||
|
||||
| Джерело | Розмір | Що робити | Вплив на НОДА2 |
|
||||
|---------|--------|-----------|----------------|
|
||||
| **Monero** | 91GB | Видалити/перенести | ❌ Не вплине |
|
||||
| **Cursor models** | 122GB | Видалити одну копію | ❌ Не вплине |
|
||||
| **Docker.raw** | 1.8TB | Очистити + зменшити до 128GB | ✅ Безпечно (якщо правильно) |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Безпечний план дій
|
||||
|
||||
### 1. Monero (91GB)
|
||||
```bash
|
||||
# Якщо не використовуєте - видалити
|
||||
rm -rf ~/.bitmonero
|
||||
```
|
||||
|
||||
### 2. Cursor models (122GB)
|
||||
```bash
|
||||
# Видалити одну копію (старішу)
|
||||
rm -rf ~/.cursor/worktrees/microdao-daarion/s4s0P
|
||||
# АБО
|
||||
rm -rf ~/.cursor/worktrees/microdao-daarion/6IOTQ
|
||||
```
|
||||
|
||||
### 3. Docker.raw (1.8TB)
|
||||
```bash
|
||||
# 1. Очистити
|
||||
docker system prune -a --volumes -f
|
||||
|
||||
# 2. Перевірити використання
|
||||
docker system df
|
||||
|
||||
# 3. Зменшити через Docker Desktop Settings
|
||||
# Settings → Resources → Advanced → Disk image size → 128GB
|
||||
```
|
||||
|
||||
**Загальне звільнення:** ~1.8TB
|
||||
|
||||
---
|
||||
|
||||
**Оновлено:** 2026-01-12
|
||||
**Статус:** ✅ Детальний аналіз готовий
|
||||
Reference in New Issue
Block a user