- Создана новая организационная структура с эмодзи-папками - Добавлена система Inbox для быстрого захвата идей - Созданы шаблоны для всех типов заметок с YAML метаданными - Перенесен весь контент из старой структуры в новую - Добавлен главный дашборд с динамическими запросами - Создано подробное руководство по использованию системы - Техническая документация реорганизована по типам Основные улучшения: ✅ Inbox-first подход для новых заметок ✅ Тематическая организация по 8 областям знаний ✅ Шаблоны с метаданными для структурированности ✅ Система связей между заметками ✅ Динамические дашборды с аналитикой ✅ Централизованная техническая документация без дублирования
5.4 KiB
5.4 KiB
Описание
Second Mind - система автоматической публикации заметок Obsidian через Quartz с использованием Git-based workflow. Позволяет превращать локальные заметки в красивый статический сайт автоматически при каждом commit'е.
Архитектура системы
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 использования
- Создание заметок в Obsidian локально
- Commit и push изменений в Gitea репозиторий
- Автоматический webhook от Gitea запускает пересборку
- Webhook сервис обновляет локальную копию и запускает Quartz
- Quartz генерирует обновленный статический сайт
- 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/Администрирование - обслуживание и мониторинг