5.8 KiB
Executable File
5.8 KiB
Executable File
План: вывод Zulip из эксплуатации (decommission)
Создан: 2026-09-29
Цель
Снести Zulip-стек на Mac (Colima Docker), сохранив историю переписки. Транспорт Hermes уже переехал на Mattermost — Zulip держится только ради истории.
Состояние
| Этап | Статус |
|---|---|
| 1. Выгрузка истории в SQLite | ✅ сделано 2026-09-29 |
| 2. Верификация целостности | ✅ сделано |
| 3. Правка ссылок на Zulip DB в скиллах/SOUL | ⏳ план согласован, ждёт выбора варианта |
| 4. Снос стека | ⛔ не начато |
Артефакт этапа 1: ~/Documents/zulip_message_history.sqlite (78.1 MB, 134 734 сообщения)
→ инструкция по поиску в tech/zulip-message-history
Решение: формат истории
Рассматривались три варианта:
| Вариант | Плюсы | Минусы | Итог |
|---|---|---|---|
pg_dump (custom format) |
полный бэкап, восстановим одной командой | нечитаем без psql; тянет за собой весь Postgres | ❌ отклонён |
| Экспорт в markdown-файлы по тредам | читаемо в Obsidian, grep-абельно | 197 файлов, ломает структуру при правках, нет поиска по тексту | ❌ отклонён |
| SQLite + FTS5 | один файл, структура тредов через FK, полнотекстовый поиск | нужен sqlite3 CLI |
✅ выбран |
Явное указание Alex: «никаких вложений и меты. только история переписки».
Поэтому pg_dump, volume zulip_zulip-data, аплоады и аватары в выгрузку не попали.
Открытый вопрос (шаг 3) — правка ссылок на Zulip DB
Найдено 7 групп файлов, ссылающихся на zulip-db-forensics / psql к Zulip.
После сноса эти инструкции станут нерабочими.
| # | Файл | Ссылок |
|---|---|---|
| 1 | ~/.hermes/hermes-whale/SOUL.md:36 |
1 |
| 2 | ~/.hermes/hermes-whale/memories/USER.md |
1 |
| 3 | skills/software-development/zulip-db-forensics/SKILL.md |
основной |
| 4 | skills/software-development/zulip-thread-handoff/SKILL.md |
4 |
| 5 | skills/software-development/zulip-bot-routing/SKILL.md |
6 |
| 6 | skills/software-development/project-progress-audit/SKILL.md |
3 |
| 7 | eagle-dashboard, systematic-debugging, personal-os-daily-brief, zfs-panic-recovery, htpc-steam-shortcuts |
по 1 |
Предложенные варианты:
- A (чисто) — переименовать скилл
zulip-db-forensics→message-history-search, перевести все 7 групп на SQLite. ~10 файлов. - B (минимально) — только
SOUL.md+USER.md+ блок «ИСТОЧНИК = SQLite» в скилл. 3 файла. - C (гибрид, рекомендован) —
SOUL.md+USER.md+ переписать телоzulip-db-forensics/SKILL.mdна SQLite, имя скилла не менять (8 входящих ссылок переименование сломает без выгоды), в остальных файлах заменить только psql-команды.
Решение не принято — ждёт ответа Alex.
Шаг 4 — снос (выполнять ПОСЛЕ шага 3)
cd ~/Developer/zulip
docker compose down
docker volume rm zulip_zulip-data zulip_zulip-pgdata zulip_zulip-rabbitmq zulip_zulip-redis
docker rmi zulip/docker-zulip:11.6-0
🔴 Порядок важен: сначала зависимости
zulip-router(~/Developer/zulip-router/, порт 8090) — поллит Zulip Events API. Снести/остановить до Zulip, иначе словит restart-loop на мёртвом API.- Hermes
platforms: zulipв~/.hermes/config.yaml— уже не используется (транспорт Mattermost), но платформа в конфиге останется висеть. Убрать или выключить. - Bot-роутинг (Валера/Клавдий/Eagle/Кит webhook
host.docker.internal:8644-8645) — уходит вместе с Zulip. Balda-боты остаются без транспорта.
Что освободится
| Ресурс | Объём |
|---|---|
Образ zulip/docker-zulip:11.6-0 |
3.84 GB |
Volume zulip_zulip-pgdata |
503 MB (на диске) |
Volume zulip_zulip-data |
38.1 MB |
| Контейнеры (5 шт) | ~260 MB |
Проверка перед сносом (обязательно)
sqlite3 ~/Documents/zulip_message_history.sqlite "PRAGMA integrity_check;"→okcount(*)изmessages= 134 734- FTS-запрос по известному слову возвращает результаты
- Файл продублирован вне Mac (Time Machine / Kraken / NAS) — не сделано, Alex не подтвердил необходимость
Связанные документы
- tech/zulip-message-history — SQLite с историей и инструкция по поиску
- projects/zulip-router — архитектура роутера, конфиг ботов
- tech/hermes-whale-mattermost-transport — текущий транспорт Hermes
- tech/docker-mac-disk-issues — контекст: почему Zulip тормозил