✨ Реорганизация структуры заметок v2.0
- Создана новая организационная структура с эмодзи-папками - Добавлена система Inbox для быстрого захвата идей - Созданы шаблоны для всех типов заметок с YAML метаданными - Перенесен весь контент из старой структуры в новую - Добавлен главный дашборд с динамическими запросами - Создано подробное руководство по использованию системы - Техническая документация реорганизована по типам Основные улучшения: ✅ Inbox-first подход для новых заметок ✅ Тематическая организация по 8 областям знаний ✅ Шаблоны с метаданными для структурированности ✅ Система связей между заметками ✅ Динамические дашборды с аналитикой ✅ Централизованная техническая документация без дублирования
This commit is contained in:
107
⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Обзор системы.md
Normal file
107
⚙️ Техническое/🖥️ Серверы/Second Mind Setup/Обзор системы.md
Normal 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/Администрирование]] - обслуживание и мониторинг
|
||||
Reference in New Issue
Block a user