Files
TrainigPlaner/docs/server-deployment.md

5.5 KiB

Развёртывание на сервере

Текущее правило эксплуатации — 13 октября 2026

Пользователь завершил настройку сервера; база содержит рабочие данные. Описанные ниже параметры первоначального развёртывания — историческая справка, а не подтверждение текущей конфигурации.

Без согласованной задачи сервер не изменять. Перед миграцией проверить SQL на потерю данных, создать резервную копию, проверить её восстановление и выполнение миграции в отдельной тестовой БД. Сохранность текущих данных обязательна. Не пересоздавать базу, не удалять тома и не подменять рабочие данные локальными. Учитывать миграции, автоматически выполняемые при старте приложения. При обнаружении проблемы остановиться и согласовать дальнейшие действия.

Первоначальное развёртывание — 30 сентября 2026

  • Подключение: ssh trainplan (алиас из локальной SSH-конфигурации).
  • Каталог развёртывания: /home/dimass/training-planner.
  • Исходники: подкаталог repository, ветка main, коммит ad3cd6f.
  • Compose-проект: trainingplanner, отдельные сеть и тома.
  • Приложение: 127.0.0.1:8001, только через локальный reverse proxy.
  • PostgreSQL не публикует порт на хосте. При первоначальном развёртывании была создана пустая база; сейчас она содержит рабочие данные.
  • compose.yaml, .env, app.env и access.txt находятся вне Git-репозитория.
  • Логин тренера: trainer; сгенерированный пароль находится в access.txt, доступном только владельцу.

Управление

cd /home/dimass/training-planner
docker compose ps
docker compose logs --tail 100 app

Не выполнять docker system prune, docker volume prune или docker compose down -v: на сервере есть другие проекты, а тома этого приложения содержат базу и ключи авторизации.

HTTPS — исторические результаты проверки

При проверке 30 сентября 2026 года Nginx для trainplan.samsonium.ru слушает только порт 80 и проксирует на http://127.0.0.1:8001. На порту 443 выдаётся сертификат search.samsonium.ru, истёкший 19 ноября 2025 года. Конфигурация Nginx и сертификаты при развёртывании приложения не изменяются.

На момент первоначальной проверки требовалась настройка HTTPS администратором. 13 октября пользователь сообщил, что завершил настройку сервера; повторная проверка не выполнялась. Прежнюю проблему сертификата не считать актуальной без новой проверки в рамках согласованной задачи.

Обновление — 13 октября 2026

  • Образ приложения: training-planner:9877052, код ветки master. Исходники сборки: /home/dimass/training-planner/releases/9877052. Старый checkout не перезаписан.
  • Обновлён только app через docker compose up -d --no-deps app; контейнер БД остался прежним. Новых миграций нет.
  • .env, app.env и существующие учётные записи, включая хеши паролей, не изменились: проверено контрольными суммами. Количество клиентов, программ, библиотечных упражнений и миграций осталось прежним.
  • HTTPS страницы входа отвечает 200, новый контейнер работает без перезапусков. Вход под рабочей учётной записью и тестовые изменения рабочей БД не выполнялись.
  • Резервная копия находится на компьютере пользователя: ~/Documents/TrainingPlannerBackups/before-9877052-20261013-225214/database.dump. Проверены читаемость каталога архива и совпадение SHA-256 после переноса. Восстановление не выполнялось, миграций в обновлении нет.
  • После проверки переноса временный серверный дамп удалён. На сервере остались резервный Compose и контрольные суммы для проверки обновления; env-файлы не изменялись.