Журнал изменений - DENKART

Все значимые изменения в конфигурации сервера документируются здесь.

Формат основан на Keep a Changelog.

[2026-02-15] - Пакет передачи проекта AI-ассистенту и приёмка версии

Добавлено

  • docs/AI-HANDOVER-BRIEF.md — универсальный брифинг для любого AI-ассистента (роли, архитектура, процедуры, частые ошибки)
  • docs/AI-FIRST-SESSION-CHECKLIST.md — чек-лист первой сессии при приёме проекта
  • docs/AI-HANDOVER-PACKAGE-PROPOSAL.md — предложение по пакету передачи навыков
  • docs/operations/AI-HANDOVER-ACCEPTANCE-2026-02-15.md — акт приёмки версии и передачи проекта «сам себе»

Изменено

  • docs/INDEX.md — добавлен раздел «Для нового AI-ассистента (передача проекта)» со ссылками на брифинг и чек-лист

Фиксация

  • Передача проекта AI-ассистенту «сам себе» выполнена по чек-листу
  • Версия v1.7-working-version-2026-02-15 принята с пакетом AI-handover

Ссылки


[2026-02-15] - Аварийный диск /storage: состояние, план, тестирование и готовность

Добавлено

  • docs/operations/STORAGE-CURRENT-STATE-2026-02-15.md — описание текущего состояния аварийного диска /storage (6,4 ГБ свободно, EMERGENCY)
  • docs/operations/STORAGE-RECOVERY-PLAN-2026-02-15.md — план исправления на основе прошлого опыта (анализ инцидента, выполненные и остающиеся действия)
  • docs/operations/STORAGE-TEST-AND-READINESS-2026-02-15.md — результаты тестирования и степень готовности к повторному запуску (недопущение повторения инцидента)
  • Ссылки на новые документы в docs/INDEX.md и docs/NAVIGATION.md

Исправлено

  • scripts/cleanup-lxd-snapshots.sh — LXC_INFO_TIMEOUT увеличен с 120 до 300 с для корректной работы при вызове из systemd при переполненном диске (LXD отвечает медленно, контейнеры не помечались как «не найден» по таймауту)

Состояние

  • Приведение /storage к штатному состоянию (≥ 80 ГБ): запущена вручную очистка снимков LXD от пользователя cdto; по завершении проверить df -h /storage и при необходимости повторить очистку или анализ крупных каталогов
  • Мониторинг и автоочистка для /storage, ранний порог 100 ГБ, регламент еженедельной проверки — внедрены ранее (DISK-SPACE-ACTIONS, INCIDENT-ANALYSIS, disk-space-protection)

Ссылки


[2026-02-14] - Точка восстановления и приведение документации в соответствие

Добавлено

  • ✅ Точка восстановления working-version-2026-02-14: снимки конфигов state-working-version-2026-02-14-2026-02-14-024649/, state-working-version-2026-02-14-2026-02-14-024900/
  • ✅ Git-тег v1.6-working-version-2026-02-14 для отката кода

Изменено

  • RESTORE-POINT-PROCEDURE.md — актуальная точка восстановления 2026-02-14; предыдущие точки (2026-02-12, 2026-02-11) перенесены в раздел «Предыдущие точки»; в перечень контейнеров save-state добавлен moodle; примеры тегов обновлены на v1.6
  • INDEX.md — добавлена ссылка на точку восстановления 2026-02-14 и тег v1.6, уточнён статус доменов
  • BACKUP-BEFORE-CHANGES.md — в перечень LXD-контейнеров добавлен moodle, пример тега обновлён
  • config/snapshots/README.md — добавлен раздел «Точки восстановления (state-*)» со ссылкой на процедуру

Ссылки


[2026-02-12] - Промежуточная рабочая версия: Moodle 4.5 (lms.cdto.life)

Добавлено

  • Moodle 4.5 LTS на https://lms.cdto.life (контейнер moodle, 10.218.14.104)
  • ✅ Маршрутизация lms.cdto.life через BBB (HAProxy → Nginx:8443 → moodle:80)
  • ✅ Конфиг Nginx в контейнере Moodle: config/nginx/moodle-lms-cdto-life.conf (X-Forwarded-Proto → PHP, передача пути в r.php)
  • ✅ В BBB для lms: proxy_set_header X-Forwarded-Proto https; в config/nginx/bbb-https-routing.conf
  • ✅ Документ Промежуточная рабочая версия: docs/operations/INTERMEDIATE-WORKING-VERSION-2026-02-12.md
  • ✅ Консолидирующий отчёт и правило маршрутизации: docs/operations/ROUTING-SETUP-REPORT-AND-RULE.md
  • ✅ Обновлены: docs/setup/moodle-lms-dns.md, docs/setup/moodle-first-login.md (логин/пароль, циклическое перенаправление)

Исправлено

  • ✅ Циклическое перенаправление (ERR_TOO_MANY_REDIRECTS) на lms.cdto.life — передача схемы HTTPS в двух звеньях (BBB и контейнер moodle)
  • ✅ «Not found» на главной Moodle — передача пути в r.php через rewrite в Nginx

Фиксация состояния

  • ✅ Снимок состояния: config/snapshots/state-intermediate-working-moodle-lms-2026-02-12-2026-02-12-053047/
  • ✅ LXD-снимки контейнеров (BBB-CONT22-1, nginx-reverse-proxy, docs-denkart): pre-proxy-20260212-0530

Ссылки


[2026-01-10] - Версия 1.1.0: Система накопления опыта для AI-ассистентов

Добавлено

  • База знаний об ошибках (docs/AI-KNOWLEDGE-BASE.md) - накопленный опыт для предотвращения повторения ошибок
  • Улучшенный процесс работы (docs/AI-WORKFLOW-IMPROVEMENTS.md) - пошаговый процесс взаимодействия для накопления опыта
  • Быстрый старт для AI (docs/AI-QUICK-START.md) - краткое руководство для быстрого начала работы
  • Руководство для пользователя (docs/SERGEY-AI-INTERACTION-GUIDE.md) - как лучше формулировать задачи и взаимодействовать с AI
  • Шаблон для уроков (docs/TEMPLATE-lesson-learned.md) - документирование извлеченных уроков
  • Скрипт извлечения уроков (scripts/extract-lessons.sh) - автоматический анализ документации для извлечения проблем и решений

Изменено

  • ✅ Обновлен docs/AI-ASSISTANT-GUIDE.md - добавлены ссылки на базу знаний и улучшенный процесс работы
  • ✅ Обновлен docs/INDEX.md - добавлен раздел о работе с AI-ассистентами
  • ✅ Обновлен README.md - добавлена информация о системе накопления опыта

Технические детали

  • База знаний: Содержит все ошибки, которые были исправлены, с описанием причин, решений и методов предотвращения
  • Процесс работы: Пошаговый процесс с чек-листами перед действиями, метриками успеха и процессом улучшения
  • Автоматизация: Скрипт для извлечения уроков из существующей документации операций и troubleshooting

Результат

  • AI будет проверять базу знаний перед выполнением похожих действий
  • Накопление опыта с каждым взаимодействием
  • Сокращение количества ошибок за счет использования предыдущего опыта
  • Улучшение качества решений со временем

Файлы

  • docs/AI-KNOWLEDGE-BASE.md - база знаний об ошибках
  • docs/AI-WORKFLOW-IMPROVEMENTS.md - улучшенный процесс работы
  • docs/AI-QUICK-START.md - быстрый старт для AI
  • docs/SERGEY-AI-INTERACTION-GUIDE.md - руководство для пользователя
  • docs/TEMPLATE-lesson-learned.md - шаблон для уроков
  • scripts/extract-lessons.sh - скрипт извлечения уроков

Git

  • Коммит: d5d46f5 - feat: Система накопления опыта для AI-ассистентов
  • Тег: v1.1.0-ai-knowledge-base
  • Ветка: master

[2026-01-10] - Настройка автоматической синхронизации документации

Добавлено

  • ✅ Настроена автоматическая синхронизация документации с docs.cdto.life через systemd timer
  • ✅ Создан systemd service docs-sync.service для синхронизации документации
  • ✅ Создан systemd timer docs-sync.timer для периодической проверки изменений (каждые 5 минут)
  • ✅ Создан git post-commit hook для уведомления о необходимости синхронизации
  • ✅ Создан скрипт установки автоматической синхронизации: scripts/setup-docs-auto-sync.sh
  • ✅ Создан service скрипт: scripts/docs-sync-service.sh
  • ✅ Создана документация: docs/operations/docs-auto-sync.md
  • ✅ Обновлена документация в README.md, daily-operations.md, INDEX.md

Технические детали

  • Timer: Запускается каждые 5 минут, первый запуск через 2 минуты после загрузки системы
  • Service: Проверяет изменения через git и синхронизирует только при обнаружении новых коммитов
  • Git Hook: Уведомляет о необходимости синхронизации после коммитов, изменяющих документацию
  • Логирование: Все действия логируются в /var/log/docs-sync.log
  • Метаданные: Последний проверенный коммит сохраняется в /var/tmp/docs-sync-last-check

Файлы

  • scripts/setup-docs-auto-sync.sh - скрипт установки автоматической синхронизации
  • scripts/docs-sync-service.sh - скрипт service для автоматической синхронизации
  • scripts/sync-docs-to-web.sh - скрипт ручной синхронизации (обновлен)
  • .git/hooks/post-commit - git hook для уведомления о синхронизации
  • templates/docs-sync.service - шаблон systemd service
  • templates/docs-sync.timer - шаблон systemd timer
  • docs/operations/docs-auto-sync.md - полная документация по автоматической синхронизации

Управление

# Проверка статуса
sudo systemctl status docs-sync.timer

# Просмотр логов
sudo journalctl -u docs-sync.service -f

# Ручной запуск
sudo systemctl start docs-sync.service

# Включение/выключение
sudo systemctl enable docs-sync.timer   # Включить
sudo systemctl disable docs-sync.timer  # Выключить

[2026-01-10] - Решение проблемы со слабым SSL сертификатом при внешнем доступе

Исправлено

  • ✅ Решена проблема "Соединение не установлено: Вероятная угроза безопасности" для всех доменов
  • ✅ Решена проблема "EE certificate key too weak" при внешнем доступе
  • ✅ Все три домена теперь используют правильные Let's Encrypt сертификаты:
  • denkart.cdto.life - Let's Encrypt (до 2026-04-08)
  • school.cdto.life - Let's Encrypt (до 2026-03-27)
  • docs.cdto.life - Let's Encrypt (до 2026-04-08)

Добавлено

  • ✅ Создан скрипт автоматического исправления: scripts/fix-ssl-external-ip-routing.sh
  • ✅ Создан скрипт диагностики SSL проблем: scripts/diagnose-ssl-certificate-issue.sh
  • ✅ Добавлено правило OUTPUT в iptables для правильной маршрутизации трафика к внешнему IP
  • ✅ Обновлена документация с решением проблемы:
  • docs/troubleshooting/ssl-certificate-external-ip-issue.md - полное описание проблемы и решения
  • docs/troubleshooting/FAQ.md - добавлен раздел о SSL сертификатах
  • docs/troubleshooting/common-issues.md - добавлена проблема и решение
  • docs/troubleshooting/QUICK-REFERENCE.md - быстрая справка по решению проблем
  • ✅ Обновлен индекс документации с ссылками на решение проблемы

Технические детали

  • Причина проблемы: Трафик к внешнему IP (89.179.242.240) проходит через OUTPUT chain iptables, а не только через PREROUTING. Поэтому требуется дополнительное правило DNAT в OUTPUT chain.

  • Решение: Добавлено правило OUTPUT в iptables:
    bash iptables -t nat -A OUTPUT -d 89.179.242.240/32 -p tcp --dport 443 -j DNAT --to-destination 10.218.14.37:443

  • Правила сохранены: Правила iptables сохранены через netfilter-persistent для автоматической загрузки после перезагрузки

  • Результат: Все домены используют правильные Let's Encrypt сертификаты при внешнем доступе. Проверка через openssl s_client показывает правильные сертификаты для всех трех доменов.

Файлы

  • scripts/fix-ssl-external-ip-routing.sh - скрипт автоматического исправления
  • scripts/diagnose-ssl-certificate-issue.sh - скрипт диагностики SSL проблем
  • docs/troubleshooting/ssl-certificate-external-ip-issue.md - полная документация
  • docs/troubleshooting/QUICK-REFERENCE.md - быстрая справка

[2026-01-09] - Настройка мониторинга SSL сертификатов

Добавлено

  • ✅ Создан скрипт мониторинга истечения SSL сертификатов: scripts/check-ssl-certificates.sh
  • ✅ Создан скрипт мониторинга ошибок обновления Certbot: scripts/check-certbot-errors.sh
  • ✅ Настроены systemd timers для автоматической проверки сертификатов:
  • ssl-certificate-monitor.timer - проверка ежедневно в 06:00 UTC
  • certbot-error-monitor.timer - проверка дважды в день в 06:00 и 18:00 UTC
  • ✅ Созданы шаблоны systemd сервисов и таймеров в templates/
  • ✅ Обновлена документация docs/operations/ssl-certificate-auto-renewal.md с описанием мониторинга

Технические детали

  • Проверка истечения сертификатов:
  • Предупреждение: за 30 дней до истечения
  • Критическое: за 14 дней до истечения
  • Аварийное: за 7 дней до истечения или истекший сертификат
  • Логи: /var/log/ssl-certificate-monitor.log
  • Алерты: /var/log/ssl-certificate-alerts.log

  • Проверка ошибок обновления:

  • Проверка логов Certbot за последние 24 часа
  • Проверка логов обновления HAProxy bundle
  • Проверка статуса Certbot timer
  • Логи: /var/log/certbot-error-monitor.log
  • Алерты: /var/log/certbot-error-alerts.log

Файлы

  • scripts/check-ssl-certificates.sh - скрипт проверки сроков действия сертификатов
  • scripts/check-certbot-errors.sh - скрипт проверки ошибок обновления
  • templates/ssl-certificate-monitor.service - systemd service для проверки сертификатов
  • templates/ssl-certificate-monitor.timer - systemd timer для проверки сертификатов
  • templates/certbot-error-monitor.service - systemd service для проверки ошибок
  • templates/certbot-error-monitor.timer - systemd timer для проверки ошибок

[2026-01-08] - Настройка автоматического обновления SSL сертификатов

Добавлено

  • ✅ Настроено автоматическое обновление SSL сертификатов через Certbot (дважды в день: 00:00 и 12:00 UTC)
  • ✅ Создан скрипт обновления HAProxy bundle: scripts/update-haproxy-ssl-cert.sh
  • ✅ Создан скрипт Certbot renewal hook: scripts/certbot-renewal-hook.sh
  • ✅ Настроен deploy-hook для всех доменов (denkart, docs, school) для автоматического обновления HAProxy bundle
  • ✅ Получен SSL сертификат для docs.cdto.life
  • ✅ Обновлен HAProxy bundle со всеми тремя сертификатами
  • ✅ Создана документация docs/operations/ssl-certificate-auto-renewal.md
  • ✅ Создана документация docs/operations/final-architecture.md

Изменено

  • HAProxy bundle (/etc/haproxy/certbundle.pem) теперь содержит все три сертификата:
  • denkart.cdto.life
  • docs.cdto.life
  • school.cdto.life

Технические детали

  • Certbot timer настроен на запуск дважды в день с случайной задержкой до 12 часов
  • Deploy hook автоматически обновляет HAProxy bundle после успешного обновления сертификатов
  • HAProxy автоматически перезагружается после обновления bundle
  • Логирование обновлений: /var/log/certbot-haproxy-update.log

Проверка TURN протокола

  • ✅ TURN сервер (coturn) работает и доступен на порту 3478 (UDP/TCP)
  • ✅ Конфигурация TURN сервера проверена и работает корректно

[2026-01-08] - Решение проблемы с HTTPS маршрутизацией через HAProxy

Исправлено

  • ✅ Решена проблема с HTTPS маршрутизацией для всех доменов через HAProxy
  • ✅ Исправлена проблема с BigBlueButton (HTTP 502) путем удаления требования proxy_protocol
  • ✅ Все три домена теперь работают корректно по HTTPS:
  • denkart.cdto.life - Cockpit доступен
  • docs.cdto.life - Документация доступна
  • school.cdto.life - BigBlueButton доступен

Добавлено

  • Создана конфигурация HAProxy в HTTP режиме для маршрутизации по Host заголовку
  • Создана конфигурация Nginx на порту 8443 для проксирования denkart.cdto.life и docs.cdto.life
  • Создана документация docs/operations/haproxy-https-routing-solution.md с описанием решения

Изменено

  • HAProxy переведен с TCP режима на HTTP режим для возможности маршрутизации по Host заголовку
  • Конфигурация Nginx BigBlueButton изменена: убрано требование proxy_protocol, используется X-Forwarded-For
  • Все запросы к BigBlueButton теперь идут на порт 81 (HTTP/1.1) для избежания проблем с HTTP/2

Технические детали

  • HAProxy выполняет SSL терминацию на порту 443
  • Маршрутизация основана на Host заголовке
  • Nginx на порту 8443 проксирует запросы в docs-denkart контейнер
  • BigBlueButton работает без proxy_protocol, используя стандартные заголовки для определения реального IP

[2026-01-08] - Решение проблемы с маршрутизацией доменов (HTTP)

Исправлено

  • ✅ Решена проблема с маршрутизацией доменов docs.cdto.life и denkart.cdto.life по HTTP
  • ✅ Добавлена конфигурация маршрутизации в BBB-CONT22-1 для проксирования запросов в docs-denkart
  • ✅ Все домены теперь работают корректно по HTTP

Добавлено

  • Создана конфигурация config/nginx/bbb-routing.conf для маршрутизации в BBB-CONT22-1
  • Создана документация docs/operations/routing-solution.md с описанием решения

Изменено

  • Обновлена документация по конфигурации доменов
  • Обновлен отчет о выполнении настройки

[2026-01-08] - Настройка системы секретов и маршрутизации доменов

Добавлено

  • Создана система защищенного хранения паролей и секретов
  • Создан файл config/secrets.example с примером структуры секретов
  • Созданы скрипты для работы с секретами: scripts/load-secrets.sh, scripts/get-secret.sh
  • Создана документация по управлению секретами: docs/setup/secrets-management.md
  • Создана конфигурация маршрутизации для всех доменов: config/nginx/denkart-routing.conf
  • Создана документация по конфигурации доменов: docs/operations/domains-configuration.md
  • Обновлена документация с информацией о доменах проекта

Изменено

  • Обновлен .gitignore для исключения файла секретов
  • Обновлено руководство для AI-ассистентов с информацией о доменах и секретах
  • Настроена конфигурация Nginx в контейнере docs-denkart для маршрутизации всех доменов

Заметки

  • Домены проекта:
  • denkart.cdto.life - интерфейс управления хостингом (Cockpit)
  • docs.cdto.life - интерфейс с документацией
  • school.cdto.life - рабочая версия проекта (BigBlueButton)
  • Система секретов позволяет безопасно хранить пароли для использования AI-ассистентами и администраторами
  • Требуется дополнительная настройка маршрутизации для корректной работы всех доменов

[2026-01-08] - Принятие проекта в разработку и настройка инфраструктуры

Добавлено

  • Создан отчет о принятии проекта: docs/PROJECT-ACCEPTANCE-REPORT.md
  • Создано руководство для AI-ассистентов: docs/AI-ASSISTANT-GUIDE.md
  • Проведена полная проверка текущего состояния системы
  • Оценена архитектура и выявлены проблемы
  • Проверена система резервного копирования
  • Проверены веб-интерфейсы для мониторинга

Изменено

  • Обновлена документация проекта
  • Добавлены важные файлы в Git

Заметки

  • Проект принят в разработку под наблюдением Коробущенко С.А.
  • Основной продукт: BigBlueButton 3.0.19 в контейнере BBB-CONT22-1
  • Выявлены проблемы с ZFS storage pool (176 ошибок)
  • Рекомендуется переключение на BBB-CONT22-2

[2026-01-08] - Настройка домена для Cockpit, SSL, русификация, очистка хоста и оптимизация загрузки

Решение по виртуализации

  • Подтверждено: Использование только Linux дистрибутивов
  • Решение: LXD контейнеры (текущая конфигурация) - оптимальны
  • KVM и libvirt: НЕ требуются, оставлены отключенными
  • Преимущества: Быстрый запуск, эффективное использование ресурсов, поддержка множества Linux дистрибутивов
  • Создана документация: docs/setup/lxd-linux-virtualization.md - руководство по использованию LXD для Linux дистрибутивов

Конфигурация для разработки и продакшена

  • Рекомендации: Разделение окружений (dev/staging/production) через LXD контейнеры
  • Графические интерфейсы: code-server (VS Code Server) - основной, GitLab/Gitea, Portainer, JupyterLab
  • Архитектура: Development, Staging, Production, Database, Git хостинг - отдельные контейнеры
  • Создана документация: docs/setup/development-environment.md - полное руководство по настройке окружения для разработки

Стратегия защиты от ошибок AI

  • Многоуровневая защита: Git (основной), автоматические бэкапы, снэпшоты контейнеров, CI/CD проверки
  • Рабочий процесс: Снэпшоты перед работой, частые коммиты, тестирование, ветки для экспериментов
  • Восстановление: Быстрое восстановление из Git, снэпшотов или бэкапов
  • Оптимизация ресурсов: Сжатие бэкапов, хранение 7 дней, инкрементальные бэкапы
  • Создана документация: docs/setup/ai-development-safety.md - полная стратегия защиты проекта при работе с AI

Добавлено

  • Установлен Cockpit (веб-интерфейс управления сервером)
  • Установлены плагины: cockpit-packagekit, cockpit-networkmanager, cockpit-storaged, cockpit-machines
  • Создан скрипт установки: scripts/install-cockpit.sh
  • Создана документация: docs/setup/cockpit-installation.md
  • Настроен доступ к Cockpit через порт 9090 (HTTPS)
  • Настроен Nginx для проксирования Cockpit на домен denkart.cdto.life (HTTP и HTTPS)
  • Установлен SSL сертификат Let's Encrypt для denkart.cdto.life
  • Добавлен виртуальный хост для denkart.cdto.life на портах 81/82 (через HAProxy)
  • Создан скрипт для автоматического обновления SSL сертификатов в HAProxy: scripts/update-haproxy-ssl-cert.sh
  • Установлены русские языковые пакеты (language-pack-ru, language-pack-ru-base)
  • Настроена системная локаль LANG=ru_RU.UTF-8
  • Создана документация по русификации Cockpit: docs/setup/cockpit-russian-localization.md
  • Создан скрипт исправления аутентификации PackageKit: scripts/fix-cockpit-packagekit-auth.sh
  • Создана документация по исправлению ошибок аутентификации
  • Создана документация по разрешению конфликта порта 80: docs/troubleshooting/nginx-port-80-conflict.md
  • Создана документация по ошибкам GDM и gnome-keyring: docs/troubleshooting/gdm-gnome-keyring-errors.md
  • Создана документация по исправлению ошибок загрузки: docs/troubleshooting/boot-errors-fix.md

Удалено

  • Удален Nginx с хоста (nginx, nginx-common, python3-certbot-nginx) - не нужен, работает только в контейнерах
  • Удален fail2ban (1.0.2-3) - не работает с Python 3.12, защита работает через iptables

Исправлено

  • Исправлена ошибка "Failed to obtain authentication" в PackageKit через создание правила polkit
  • Исправлена ошибка с недоступными репозиториями AMD - временно отключены недоступные репозитории
  • Отключен libvirt/KVM и удален плагин cockpit-machines для устранения предупреждения о виртуализации в Cockpit (LXD контейнеры продолжают работать)
  • Исправлен конфликт зависимостей ROCm - зафиксированы версии пакетов ROCm через apt-mark hold
  • Исправлена конфигурация Nginx в контейнере BBB-CONT22-1 для корректной обработки HTTPS трафика через HAProxy
  • Исправлена проблема с обработкой denkart.cdto.life на HTTPS - добавлен отдельный виртуальный хост на портах 81/82
  • Разрешен конфликт порта 80 - удален Nginx с хоста, порт 80 теперь используется только LXD proxy device
  • Отключены и замаскированы сервисы libvirt для устранения ошибок в логах
  • Закомментирован диск в fstab (UUID=F474B7AA74B76DCC) для устранения ошибок таймаута
  • Настроен GDM для отключения XDMCP, Chooser и удаленных подключений (ошибки GDM_IS_REMOTE_DISPLAY не критичны, система работает нормально)
  • Настроен PAM для корректной работы с gnome-keyring (ошибки "unable to locate daemon control file" не критичны, keyring запускается после входа)
  • Исправлена конфигурация systemd-networkd-wait-online.service (TimeoutStartSec перемещен в правильную секцию)
  • Отключены неиспользуемые SSSD сокеты для устранения ошибок зависимостей
  • Замаскированы оставшиеся libvirt сервисы и сокеты (libvirt-guests.service, libvirtd-tcp.socket, libvirtd-tls.socket)
  • Оптимизирована загрузка системы для быстрой перезагрузки:
  • Создан файл /etc/systemd/system.conf.d/fast-boot.conf с уменьшенными таймаутами (15s для старта, 10s для остановки)
  • Настроены таймауты для NetworkManager-wait-online.service (5s вместо 3.3s)
  • Настроены таймауты для systemd-udev-settle.service (5s)
  • Добавлен параметр noatime в fstab для всех файловых систем (уменьшает количество операций записи)
  • Оптимизированы параметры ядра GRUB (quiet, splash, systemd.show_status=0, loglevel=3)
  • Проверена и исправлена корректность настроек загрузки системы:
  • Убран параметр noatime для /boot/efi (vfat не поддерживает noatime)
  • Проверено соответствие UUID в fstab и физических устройств - все корректно
  • Проверена GRUB конфигурация и загрузочные устройства - все корректно
  • Проверены systemd unit файлы и зависимости - все корректно
  • Проведена полная проверка логов загрузки системы:
  • Проверены логи systemd на ошибки и предупреждения - критических ошибок нет
  • Проверены логи ядра (dmesg) - только не критичные предупреждения
  • Проверено соответствие режима загрузки (UEFI) и конфигурации - все корректно
  • Проверено соответствие настроек GRUB и физических устройств - все совпадает
  • Проверено время загрузки: 31.7s (kernel: 9.4s, userspace: 22.3s)
  • Все предупреждения (GDM, kerneloops, ACPI) не критичны и не влияют на работу
  • Исправлена проблема с постоянными обновлениями страницы Cockpit на denkart.cdto.life:
  • Добавлена правильная обработка WebSocket соединений через map $http_upgrade $connection_upgrade
  • Исправлена обработка proxy_protocol для получения реального IP адреса ($proxy_protocol_addr)
  • Добавлены настройки set_real_ip_from и real_ip_header для proxy_protocol
  • Отключена буферизация для WebSocket (proxy_buffering off)
  • Увеличены таймауты для WebSocket соединений (86400s)
  • Исправлена конфигурация Nginx в контейнере BBB-CONT22-1

Изменено

  • Обновлена документация по настройке сервисов
  • Обновлен certbundle.pem HAProxy с сертификатом для denkart.cdto.life

Заметки

  • Cockpit доступен на:
  • https://192.168.1.112:9090 (прямой доступ)
  • https://denkart.cdto.life/ (через домен с SSL)
  • Для управления LXD контейнерами используется встроенная поддержка через cockpit-machines
  • Русский интерфейс Cockpit автоматически активируется при настройке браузера на русский язык
  • Файрвол UFW не установлен, порт 9090 открыт системно

[Не опубликовано]

Добавлено

  • Создана структура проекта DENKART
  • Создана документация по настройке сервера
  • Добавлены шаблоны для документирования процесса
  • Заполнены требования к серверу (requirements.md)
  • Обновлен план настройки с детальными этапами
  • Создана документация по конфигурации сервисов
  • Создана документация по безопасности
  • Создана документация по операциям (мониторинг, бэкапы, ежедневные операции)
  • Создана документация по решению проблем (FAQ, типичные проблемы, логи)
  • Добавлены шаблоны конфигураций (Nginx, Docker, Systemd)
  • Добавлены скрипты для автоматизации (бэкапы, проверка сервисов)

Изменено

  • Обновлен requirements.md с типовыми требованиями к серверу
  • Обновлен setup-plan.md с детальными этапами настройки

Исправлено


[YYYY-MM-DD] - Дата первой записи

Добавлено

  • [Описание добавленных функций/настроек]

Изменено

  • [Описание изменений в конфигурации]

Исправлено

  • [Описание исправлений]

Удалено

  • [Описание удаленных настроек/сервисов]

Шаблон для записи изменений

## [YYYY-MM-DD] - Краткое описание

### Добавлено
- Описание добавленного

### Изменено
- Описание изменений

### Исправлено
- Описание исправлений

### Безопасность
- Описание изменений безопасности