Реорганизация структуры заметок v2.0

- Создана новая организационная структура с эмодзи-папками
- Добавлена система Inbox для быстрого захвата идей
- Созданы шаблоны для всех типов заметок с YAML метаданными
- Перенесен весь контент из старой структуры в новую
- Добавлен главный дашборд с динамическими запросами
- Создано подробное руководство по использованию системы
- Техническая документация реорганизована по типам

Основные улучшения:
 Inbox-first подход для новых заметок
 Тематическая организация по 8 областям знаний
 Шаблоны с метаданными для структурированности
 Система связей между заметками
 Динамические дашборды с аналитикой
 Централизованная техническая документация без дублирования
This commit is contained in:
Andrey Epifancev
2025-08-09 22:11:50 +04:00
parent d2d511276f
commit e96fec3709
37 changed files with 1001 additions and 6 deletions

View File

@@ -0,0 +1,107 @@
## Описание
Second Mind - система автоматической публикации заметок Obsidian через Quartz с использованием Git-based workflow. Позволяет превращать локальные заметки в красивый статический сайт автоматически при каждом commit'е.
## Архитектура системы
```mermaid
graph TB
A[External Gitea Repository] --> B[Webhook Service]
B --> C[Quartz Builder]
C --> D[Static Files]
D --> E[Nginx Server]
F[Traefik Proxy] --> E
F --> B
subgraph "Second Mind Container"
B
C
end
subgraph "External Services"
A
F
end
```
## Основные компоненты
### External Git-сервер (Gitea)
- **Назначение**: Хранение и версионирование заметок
- **Домен**: `git.aepif.ru`
- **Особенности**: Отдельный сервис, SSH доступ на порту 2222, webhook'и при push
- **Репозиторий**: `http://gitea:3000/admin/second-mind-aep.git`
### Webhook Service
- **Назначение**: Автоматическая пересборка при изменениях
- **Домен**: `webhook.aepif.ru`
- **Технология**: Node.js + Express
- **Функции**:
- Получение webhook'ов от Gitea
- Обновление локальной копии репозитория
- Запуск сборки Quartz
- Копирование результата для Nginx
### Quartz Builder
- **Назначение**: Генерация статического сайта из Markdown
- **Репозиторий**: Кастомный форк `ssh://git@git.aepif.ru:2222/aep/quartz.git`
- **Особенности**: Поддержка Obsidian-flavored Markdown, граф связей, поиск
### Веб-сервер (Nginx)
- **Назначение**: Раздача статического контента
- **Домен**: `notes.aepif.ru`
- **Особенности**: Кэширование, сжатие, защита через Authelia
### Reverse Proxy (Traefik)
- **Назначение**: Маршрутизация трафика и SSL
- **Функции**: Автоматические SSL сертификаты, балансировка, middleware
## Workflow использования
1. **Создание заметок** в Obsidian локально
2. **Commit и push** изменений в Gitea репозиторий
3. **Автоматический webhook** от Gitea запускает пересборку
4. **Webhook сервис** обновляет локальную копию и запускает Quartz
5. **Quartz генерирует** обновленный статический сайт
6. **Nginx раздает** новый контент посетителям
## Домены и доступ
| Сервис | Домен | Описание | Защита |
|--------|-------|----------|---------|
| Git-сервер | `git.aepif.ru` | Интерфейс Gitea | Авторизация |
| Статический сайт | `notes.aepif.ru` | Опубликованные заметки | Authelia |
| Webhook | `webhook.aepif.ru` | API для автоматизации | Секретный токен |
## Структура файлов
```
/DOCKER/second-mind/
├── docker-compose.yml # Основная конфигурация (только Nginx + Webhook)
├── Dockerfile # Кастомный образ для webhook сервиса
├── nginx.conf # Конфигурация Nginx для статических файлов
├── webhook-server/ # Код webhook сервиса
│ ├── server.js # Node.js сервер для обработки webhooks
│ └── package.json # Зависимости Node.js
├── obsidian_repo/ # Локальная копия Git-репозитория
└── quartz_build/ # Собранные статические файлы для Nginx
```
**Примечание**: Gitea и PostgreSQL развернуты отдельно в `/DOCKER/git/`
## Преимущества решения
- **Автоматизация**: Публикация происходит автоматически при push
- **Версионирование**: Полная история изменений через Git
- **Безопасность**: Многоуровневая защита доступа
- **Производительность**: Статический сайт быстро загружается
- **Кастомизация**: Возможность настройки внешнего вида через Quartz
- **Поиск**: Полнотекстовый поиск по заметкам
- **Связи**: Визуализация связей между заметками
## Следующие шаги
Для развертывания системы изучите:
- [[Мой сервер/Second Mind Setup/Конфигурации]] - настройки всех сервисов
- [[Мой сервер/Second Mind Setup/Развертывание]] - пошаговая инструкция установки
- [[Мой сервер/Second Mind Setup/Администрирование]] - обслуживание и мониторинг