Files
satellite/DEPLOY.md
T
2026-05-19 19:40:42 +03:00

94 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Развёртывание Wyoming Satellite
## Быстрый старт на новом сервере
### 1. Клонирование репозитория
```bash
git clone <repository-url> /path/to/Satellite
cd Satellite
```
### 2. Создание виртуального окружения
```bash
# Вариант A: в домашней директории (рекомендуется)
python3 -m venv ~/.venv_satellite
source ~/.venv_satellite/bin/activate
# Вариант B: в projects
python3 -m venv ~/projects/.venv_satellite
source ~/projects/.venv_satellite/bin/activate
```
### 3. Установка зависимостей
```bash
pip install -r requirements.txt
```
### 4. Установка systemd сервисов
```bash
sudo ./install_systemd_services.sh
```
Скрипт автоматически:
- Найдёт виртуальное окружение
- Определит текущего пользователя
- Подставит правильные пути в service файлы
- Установит wrapper `satellite-python` в `/usr/local/bin/`
### 5. Запуск сервисов
```bash
# LED сервис (опционально)
sudo systemctl enable wyoming-event.service
sudo systemctl start wyoming-event.service
# Wyoming Satellite
sudo systemctl enable wyoming-satelite-vosk.service
sudo systemctl start wyoming-satelite-vosk.service
# Wake Word сервис
sudo systemctl enable wyoming-wakeword-vosk.service
sudo systemctl start wyoming-wakeword-vosk.service
```
### 6. Проверка статуса
```bash
sudo systemctl status wyoming-event.service
journalctl -u wyoming-event.service -f
```
---
## Структура service файлов
Все service файлы используют плейсхолдеры, которые заменяются при установке:
| Плейсхолдер | Описание |
|-------------|----------|
| `__SAT_BASE_DIR__` | Путь к репозиторию Satellite |
| `__SAT_VENV__` | Путь к виртуальному окружению |
| `__CURRENT_USER__` | Имя пользователя |
| `__HOME_DIR__` | Домашняя директория пользователя |
---
## Ручная установка (альтернатива)
Если скрипт не работает, можно вручную:
1. Отредактировать файлы в `service/`, заменив плейсхолдеры
2. Скопировать в `/etc/systemd/system/`
3. Выполнить `sudo systemctl daemon-reload`
---
## Wrapper `satellite-python`
Глобальный скрипт `/usr/local/bin/satellite-python` позволяет запускать Python из venv без указания полного пути:
```ini
# В systemd сервисе
ExecStart=satellite-python /path/to/script.py
```
Это избавляет от необходимости прописывать пути к `.venv` в каждом сервисе.