256 lines
14 KiB
Markdown
256 lines
14 KiB
Markdown
---
|
||
created: 2024-12-19
|
||
updated: 2024-12-19
|
||
tags:
|
||
- проект
|
||
- obsidian
|
||
- quartz
|
||
- автоматизация
|
||
- git
|
||
- vps
|
||
status: "активный"
|
||
area: "💡 Идеи"
|
||
complexity: "высокая"
|
||
priority: "высокий"
|
||
---
|
||
|
||
# 🚀 Second Mind Pipeline - Автоматизированная публикация заметок
|
||
|
||
## 💡 Суть проекта
|
||
|
||
Полностью автоматизированный пайплайн для публикации заметок Obsidian в виде красивого статического сайта с использованием Git-based workflow, webhook'ов и Quartz генератора.
|
||
|
||
## 🎯 Решаемая проблема
|
||
|
||
**Проблема**: Необходимость вручную публиковать и синхронизировать заметки из Obsidian в интернет для доступа с любых устройств и для создания публичной базы знаний.
|
||
|
||
**Решение**: Автоматический пайплайн, который при каждом commit'е в Git репозиторий автоматически пересобирает и публикует обновленный сайт.
|
||
|
||
## 🏗️ Архитектура системы
|
||
|
||
```mermaid
|
||
graph TB
|
||
A[Obsidian локально] --> B[Git Push]
|
||
B --> C[Gitea на VPS]
|
||
C --> D[Webhook]
|
||
D --> E[Docker контейнер]
|
||
E --> F[Quartz Builder]
|
||
F --> G[Nginx + Static Site]
|
||
G --> H[Публичный сайт]
|
||
|
||
subgraph "VPS Сервер"
|
||
C
|
||
D
|
||
E
|
||
F
|
||
G
|
||
end
|
||
|
||
subgraph "Внешний доступ"
|
||
H
|
||
I[Traefik Proxy]
|
||
J[Authelia Auth]
|
||
end
|
||
|
||
I --> G
|
||
J --> I
|
||
```
|
||
|
||
## 🔧 Технический стек
|
||
|
||
### Основные компоненты
|
||
- **Obsidian** - создание и редактирование заметок
|
||
- **Git/Gitea** - версионирование и хранение
|
||
- **Docker** - контейнеризация сервисов
|
||
- **Quartz** - генерация статического сайта
|
||
- **Nginx** - веб-сервер для статических файлов
|
||
- **Traefik** - reverse proxy и SSL
|
||
- **Authelia** - аутентификация и авторизация
|
||
|
||
### Домены и сервисы
|
||
| Сервис | Домен | Назначение |
|
||
|--------|-------|------------|
|
||
| Git-сервер | `git.aepif.ru` | Gitea интерфейс и репозитории |
|
||
| Публичный сайт | `notes.aepif.ru` | Собранные заметки |
|
||
| Webhook API | `webhook.aepif.ru` | Автоматизация сборки |
|
||
|
||
## 📁 Структура проекта
|
||
|
||
### Техническая документация
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Обзор системы|Обзор системы]] - детальная архитектура
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Конфигурации|Конфигурации]] - Docker Compose, Nginx, Quartz
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Развертывание|Развертывание]] - пошаговая установка
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Администрирование|Администрирование]] - обслуживание системы
|
||
|
||
### Связанные проекты
|
||
- [[⚙️ Техническое/🖥️ Серверы/Git Service/index|Git Service]] - Gitea сервер
|
||
- [[⚙️ Техническое/🖥️ Серверы/Traefik Reverse Proxy/index|Traefik Proxy]] - маршрутизация трафика
|
||
- [[⚙️ Техническое/🖥️ Серверы/Authelia Authentication/index|Authelia Auth]] - система аутентификации
|
||
|
||
## 🎯 Цели и достижения
|
||
|
||
### ✅ Реализовано
|
||
- [x] Автоматическая публикация при Git push
|
||
- [x] Красивый интерфейс с поиском и графом связей
|
||
- [x] Защищенный доступ через Authelia
|
||
- [x] SSL сертификаты для всех доменов
|
||
- [x] Кастомная настройка Quartz под Obsidian
|
||
- [x] Поддержка русского языка
|
||
- [x] Мобильная адаптация
|
||
|
||
### 🔄 В разработке
|
||
- [ ] Переписывание webhook на Go
|
||
- [ ] Инкрементальная сборка страниц
|
||
- [ ] Скрытие служебных папок из публикации
|
||
- [ ] Поддержка Dataview запросов
|
||
|
||
### 🎯 Планы развития
|
||
- [ ] AI-помощник для работы с заметками
|
||
- [ ] Улучшение производительности сборки
|
||
- [ ] Кастомизация Quartz под личные потребности
|
||
- [ ] Умный поиск и навигация по заметкам
|
||
|
||
## 📊 Личные метрики
|
||
|
||
### Текущие показатели
|
||
- **Время сборки**: ~45 секунд (полная сборка)
|
||
- **Доступность**: 99.9%
|
||
- **Время отклика**: ~200ms
|
||
- **Количество заметок**: 150+
|
||
|
||
### Целевые показатели
|
||
- **Время сборки**: <10 секунд (инкрементальная)
|
||
- **Время отклика**: <100ms
|
||
- **Поддержка Dataview**: 90%+ запросов
|
||
- **Удобство workflow**: ноль ручных действий
|
||
|
||
## 🔧 Технические улучшения
|
||
|
||
### Приоритетные задачи
|
||
1. **Go webhook**: Замена Node.js для лучшей производительности
|
||
2. **Инкрементальная сборка**: Обновление только измененных страниц
|
||
3. **Фильтрация контента**: Исключение служебных папок
|
||
4. **Dataview поддержка**: Динамические списки и таблицы
|
||
|
||
### Планируемые улучшения
|
||
- **AI-поиск**: Семантический поиск по заметкам
|
||
- **Кастомизация**: Персональная настройка Quartz
|
||
- **Автоматизация**: Минимизация ручного вмешательства
|
||
|
||
## 💡 Личная ценность
|
||
|
||
### Основные преимущества
|
||
- **Мгновенная публикация**: Commit → обновленный сайт за секунды
|
||
- **Чистый контент**: Только публичные заметки без служебных файлов
|
||
- **Умный поиск**: AI-помощник для навигации по знаниям
|
||
- **Dataview**: Динамические представления данных
|
||
- **Производительность**: Быстрая работа даже с большим объемом заметок
|
||
|
||
## 🧭 Навигация по проекту
|
||
|
||
### Основные документы
|
||
- **[[Second Mind Pipeline/index|🏠 Главная страница]]** - обзор проекта, архитектура, цели
|
||
- **[[Second Mind Pipeline/План развития|🚀 План развития]]** - роадмап и стратегические цели
|
||
- **[[Second Mind Pipeline/README|📋 README]]** - навигация по проекту
|
||
|
||
### Техническая документация
|
||
- **[[Second Mind Pipeline/Мониторинг и алерты|📊 Мониторинг и алерты]]** - система мониторинга
|
||
- **[[Second Mind Pipeline/Backup стратегия|💾 Backup стратегия]]** - резервное копирование
|
||
- **[[Second Mind Pipeline/Производительность|⚡ Производительность]]** - оптимизация системы
|
||
|
||
### Связанная инфраструктура
|
||
- **[[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/index|🖥️ Second Mind Setup]]** - существующая документация
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Обзор системы|Обзор системы]]
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Конфигурации|Конфигурации]]
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Развертывание|Развертывание]]
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Администрирование|Администрирование]]
|
||
|
||
## 🎯 Быстрые ссылки
|
||
|
||
### Для разработки
|
||
- [[Second Mind Pipeline/План развития#📅 Детальный роадмап|Текущие задачи]]
|
||
- [[Second Mind Pipeline/Производительность#📋 Checklist реализации|Оптимизация]]
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Конфигурации|Docker конфигурации]]
|
||
|
||
### Для администрирования
|
||
- [[Second Mind Pipeline/Мониторинг и алерты#🚨 Алерты и уведомления|Настройка алертов]]
|
||
- [[Second Mind Pipeline/Backup стратегия#🚨 Процедуры восстановления|Восстановление системы]]
|
||
- [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Администрирование|Обслуживание]]
|
||
|
||
### Для планирования
|
||
- [[Second Mind Pipeline/План развития#📊 Метрики и KPI|Метрики успеха]]
|
||
- [[Second Mind Pipeline/index#🎯 Планы развития|Будущие функции]]
|
||
|
||
## 📚 Связанные проекты
|
||
|
||
### Инфраструктурные сервисы
|
||
- **[[⚙️ Техническое/🖥️ Серверы/Git Service/index|Git Service]]** - Gitea сервер
|
||
- **[[⚙️ Техническое/🖥️ Серверы/Traefik Reverse Proxy/index|Traefik Proxy]]** - маршрутизация
|
||
- **[[⚙️ Техническое/🖥️ Серверы/Authelia Authentication/index|Authelia Auth]]** - аутентификация
|
||
|
||
### Дополнительные проекты
|
||
- **[[💡 Идеи/💡 Проекты/Obsidian телеграм бот/index|Obsidian Telegram бот]]** - создание заметок через бота
|
||
|
||
## 🔄 Статусы и приоритеты
|
||
|
||
### В активной разработке 🟢
|
||
- [[Second Mind Pipeline/Мониторинг и алерты|Мониторинг системы]]
|
||
- [[Second Mind Pipeline/Backup стратегия|Backup автоматизация]]
|
||
|
||
### Планируется к реализации 🟡
|
||
- [[Second Mind Pipeline/Производительность|Оптимизация производительности]]
|
||
- [[💡 Идеи/💡 Проекты/Obsidian телеграм бот/index|Telegram интеграция]]
|
||
|
||
### Долгосрочные планы 🔵
|
||
- SaaS версия платформы
|
||
- Мобильные приложения
|
||
- Open Source публикация
|
||
|
||
## 📝 Как использовать этот проект
|
||
|
||
### Для новых участников
|
||
1. Начните с [[Second Mind Pipeline/index|главной страницы]]
|
||
2. Изучите [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Обзор системы|архитектуру системы]]
|
||
3. Ознакомьтесь с [[Second Mind Pipeline/План развития|планом развития]]
|
||
|
||
### Для планирования задач
|
||
1. Проверьте [[Second Mind Pipeline/План развития#📅 Детальный роадмап|роадмап]]
|
||
2. Выберите задачи по приоритету
|
||
3. Обновите статусы в соответствующих документах
|
||
|
||
### Для решения проблем
|
||
1. Проверьте [[Second Mind Pipeline/Мониторинг и алерты|систему мониторинга]]
|
||
2. Используйте [[Second Mind Pipeline/Backup стратегия|процедуры восстановления]]
|
||
3. Обратитесь к [[⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Администрирование|руководству по администрированию]]
|
||
|
||
## 🔗 Связанные ресурсы
|
||
|
||
### Документация
|
||
- [Quartz официальная документация](https://quartz.jzhao.xyz/)
|
||
- [Obsidian Community](https://obsidian.md/community)
|
||
- [Docker Best Practices](https://docs.docker.com/develop/dev-best-practices/)
|
||
|
||
### Репозитории
|
||
- Форк Quartz: `ssh://git@git.aepif.ru:2222/aep/quartz.git`
|
||
- Заметки: `ssh://git@git.aepif.ru:2222/admin/second-mind-aep.git`
|
||
|
||
## 📈 Дальнейшее развитие
|
||
|
||
### Ближайшие задачи (1-2 месяца)
|
||
- [[Second Mind Pipeline/План развития#Фаза 1: Улучшение backend (1-2 месяца)|Go webhook и инкрементальная сборка]]
|
||
- [[Second Mind Pipeline/План развития#Фаза 2: Кастомизация Quartz (2-3 недели)|Настройка Quartz и скрытие папок]]
|
||
|
||
### Среднесрочные задачи (3-4 месяца)
|
||
- [[Second Mind Pipeline/План развития#Фаза 3: Dataview интеграция (3-4 недели)|Поддержка Dataview запросов]]
|
||
- [[Second Mind Pipeline/План развития#Фаза 4: AI-помощник (1-2 месяца)|AI-помощник для заметок]]
|
||
|
||
### Долгосрочные улучшения
|
||
- Расширенные возможности поиска и навигации
|
||
- Дополнительные форматы экспорта контента
|
||
- Интеграция с другими инструментами productivity
|
||
|
||
---
|
||
|
||
*Проект создан: 2024-12-19 | Статус: активная разработка*
|
||
*Последнее обновление инфраструктуры: 2024-12-15*
|