Полная синхронизация
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# Развёртывание 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` в каждом сервисе.
|
||||
Reference in New Issue
Block a user