Журнал изменений - 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)
Ссылки
- Текущее состояние аварийного диска
- План исправления /storage
- Тестирование и готовность
- Приведение /storage к норме
[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- быстрый старт для AIdocs/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 servicetemplates/docs-sync.timer- шаблон systemd timerdocs/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 UTCcertbot-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] - Краткое описание
### Добавлено
- Описание добавленного
### Изменено
- Описание изменений
### Исправлено
- Описание исправлений
### Безопасность
- Описание изменений безопасности