180 lines
8.6 KiB
Markdown
180 lines
8.6 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**: Динамические представления данных
|
||
- **Производительность**: Быстрая работа даже с большим объемом заметок
|
||
|
||
## 🔗 Связанные ресурсы
|
||
|
||
### Документация
|
||
- [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/Мониторинг и алерты|Настройка алертов]]
|
||
- [[Second Mind Pipeline/Backup стратегия|Система резервного копирования]]
|
||
|
||
### Среднесрочные задачи (3-6 месяцев)
|
||
- [[💡 Идеи/💡 Проекты/Obsidian телеграм бот/index|Интеграция с Telegram ботом]]
|
||
- [[Second Mind Pipeline/API интеграции|Разработка API]]
|
||
- [[Second Mind Pipeline/Производительность|Оптимизация производительности]]
|
||
|
||
### Долгосрочные задачи (6+ месяцев)
|
||
- [[Second Mind Pipeline/Коммерциализация|Создание SaaS решения]]
|
||
- [[Second Mind Pipeline/Open Source|Публикация в Open Source]]
|
||
|
||
---
|
||
|
||
*Проект создан: 2024-12-19 | Статус: активная разработка*
|
||
*Последнее обновление инфраструктуры: 2024-12-15*
|