44 lines
5.5 KiB
Markdown
44 lines
5.5 KiB
Markdown
# Развёртывание на сервере
|
|
|
|
## Текущее правило эксплуатации — 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`, доступном только владельцу.
|
|
|
|
## Управление
|
|
|
|
```sh
|
|
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-файлы не изменялись.
|