🧠 День 9 - How-To — Публикация постов в HomeLab без SSH
✎Теперь сайт можно обновлять без подключения к серверу.
Достаточно открыть страницу, вставить текст и нажать кнопку.
⸻
🎯 Задача
Схема: публикация без SSH
Browser
| BasicAuth
v
Node.js (homelab-app)
| write posts/<slug>.md
| run python render
| update index
v
Git (add/commit) -> publish.sh -> nginx/systemd reload
Раньше публикация выглядела так:
• подключение по SSH
• ручной запуск скриптов
• правка .md файлов
• постоянные ошибки верстки
Теперь:
• открыть страницу
• вставить текст
• нажать «Опубликовать»
🧱 Архитектура
Browser → Nginx (Basic Auth) → Node.js → Python → Git → Site
⸻
🔐 Безопасность
Доступ к публикации закрыт:
• Basic Auth на уровне nginx
• API недоступен без авторизации
• нет прямого доступа к серверу
⸻
⚙️ Как это работает
Простая форма:
• большое поле для Markdown
• кнопка «Опубликовать»
⸻
2. Отправка в API
Форма отправляет:
{
"markdown": "# Заголовок\n\nТекст..."
}
⸻
3. Сервер (Node.js)
• генерирует slug
• сохраняет .md
• запускает рендер
⸻
4. Рендер (Python)
• .md → .html
• обновление posts/index.html
⸻
- Git
Автоматически:
• git add
• git commit
⸻ - Публикация
Фоновый запуск:
./publish.sh
⸻
🧪 Проверка - Открыть
- Ввести логин/пароль
- Вставить Markdown
- Нажать «Опубликовать»
⸻
💡 Итог
• нет SSH
• нет ручных команд
• нет риска сломать сайт
• публикация занимает секунды
⸻
🚀 Дальше
• редактирование постов через UI
• удаление постов
• категории и теги
• превью перед публикацией
⸻
📌 Вывод
HomeLab перестал быть просто набором сервисов
и стал управляемой системой
Теперь публикация — это такой же сервис, как и всё остальное