2.9 KiB
2.9 KiB
Развёртывание Wyoming Satellite
Быстрый старт на новом сервере
1. Клонирование репозитория
git clone <repository-url> /path/to/Satellite
cd Satellite
2. Создание виртуального окружения
# Вариант 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. Установка зависимостей
pip install -r requirements.txt
4. Установка systemd сервисов
sudo ./install_systemd_services.sh
Скрипт автоматически:
- Найдёт виртуальное окружение
- Определит текущего пользователя
- Подставит правильные пути в service файлы
- Установит wrapper
satellite-pythonв/usr/local/bin/
5. Запуск сервисов
# 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. Проверка статуса
sudo systemctl status wyoming-event.service
journalctl -u wyoming-event.service -f
Структура service файлов
Все service файлы используют плейсхолдеры, которые заменяются при установке:
| Плейсхолдер | Описание |
|---|---|
__SAT_BASE_DIR__ |
Путь к репозиторию Satellite |
__SAT_VENV__ |
Путь к виртуальному окружению |
__CURRENT_USER__ |
Имя пользователя |
__HOME_DIR__ |
Домашняя директория пользователя |
Ручная установка (альтернатива)
Если скрипт не работает, можно вручную:
- Отредактировать файлы в
service/, заменив плейсхолдеры - Скопировать в
/etc/systemd/system/ - Выполнить
sudo systemctl daemon-reload
Wrapper satellite-python
Глобальный скрипт /usr/local/bin/satellite-python позволяет запускать Python из venv без указания полного пути:
# В systemd сервисе
ExecStart=satellite-python /path/to/script.py
Это избавляет от необходимости прописывать пути к .venv в каждом сервисе.