HomeLab

🧠 День 9 - How-To — Публикация постов в HomeLab без SSH

15 мая 2026, 07:51
🧠 День 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

  1. Git
    Автоматически:
    • git add
    • git commit
  2. Публикация
    Фоновый запуск:
    ./publish.sh

    🧪 Проверка
  3. Открыть
  4. Ввести логин/пароль
  5. Вставить Markdown
  6. Нажать «Опубликовать»

    💡 Итог
    • нет SSH
    • нет ручных команд
    • нет риска сломать сайт
    • публикация занимает секунды

    🚀 Дальше
    • редактирование постов через UI
    • удаление постов
    • категории и теги
    • превью перед публикацией

    📌 Вывод

HomeLab перестал быть просто набором сервисов
и стал управляемой системой

Теперь публикация — это такой же сервис, как и всё остальное