3.3 KiB
3.3 KiB
Обновление кода на Ubuntu из архива
Этот архив предназначен для обновления кода проекта meeting-assistant поверх уже настроенного сервера.
Архив не должен заменять серверные секреты, данные и runtime-артефакты:
.envdata/backend/.venv/frontend/node_modules/frontend/dist/.git/- модели Whisper/Gemma/Ollama
- данные n8n
- записи, аудио, транскрипты и отчёты
1. Перенести архив на сервер
С Fedora или другой машины:
scp meeting-assistant-code-update-*.zip deploy@UBUNTU_SERVER:/tmp/
Если пользователь на сервере другой, замени deploy.
2. Зайти на сервер
ssh deploy@UBUNTU_SERVER
3. Сделать резервную копию текущего кода
sudo cp -a /opt/ai_agent_bobik /opt/ai_agent_bobik.backup.$(date +%Y%m%d-%H%M%S)
Если проект лежит не в /opt/ai_agent_bobik, используй свой путь.
4. Распаковать архив во временную папку
rm -rf /tmp/meeting-assistant-update
mkdir -p /tmp/meeting-assistant-update
unzip /tmp/meeting-assistant-code-update-*.zip -d /tmp/meeting-assistant-update
5. Синхронизировать код поверх проекта
rsync -avh --delete \
--exclude='.env' \
--exclude='.git/' \
--exclude='data/' \
--exclude='backend/.venv/' \
--exclude='frontend/node_modules/' \
--exclude='frontend/dist/' \
--exclude='*.log' \
/tmp/meeting-assistant-update/ \
/opt/ai_agent_bobik/
Важно: слэш в конце /tmp/meeting-assistant-update/ означает “скопировать содержимое папки”.
6. Проверить, что серверные настройки остались
test -f /opt/ai_agent_bobik/.env && echo ".env на месте"
ls -la /opt/ai_agent_bobik/data
7. Применить миграции и пересобрать только сервисы приложения
cd /opt/ai_agent_bobik
docker compose -f infrastructure/docker-compose.yml run --rm migrator
docker compose -f infrastructure/docker-compose.yml up -d --build backend frontend worker recording-cleanup
Если n8n, Ollama/Gemma, Whisper-модели и FFmpeg уже установлены отдельно, их не переустанавливай. Для n8n на другой машине достаточно, чтобы в серверном .env был правильный N8N_WEBHOOK_URL.
8. Проверить после обновления
curl http://localhost:8000/health
curl http://localhost:8000/health/db
docker compose -f infrastructure/docker-compose.yml ps
9. Если нужно откатиться
sudo systemctl stop docker
sudo rm -rf /opt/ai_agent_bobik
sudo cp -a /opt/ai_agent_bobik.backup.YYYYMMDD-HHMMSS /opt/ai_agent_bobik
sudo systemctl start docker
cd /opt/ai_agent_bobik
docker compose -f infrastructure/docker-compose.yml up -d
Подставь фактическое имя backup-папки.