add systemd services and handlers pipeline

This commit is contained in:
2026-01-30 12:20:34 +03:00
parent 056c12580d
commit dc7fd19022
22 changed files with 2875 additions and 3 deletions

48
systemd/install.sh Normal file
View File

@@ -0,0 +1,48 @@
#!/bin/bash
# Скрипт установки systemd сервисов для Carpibord
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
echo "=== Установка Carpibord сервисов ==="
# Проверка root
if [ "$EUID" -ne 0 ]; then
echo "Запусти с sudo: sudo ./install.sh"
exit 1
fi
# Копируем сервисы
echo "[1/4] Копирование сервисов..."
cp "$SCRIPT_DIR/can0-link.service" /etc/systemd/system/
cp "$SCRIPT_DIR/carpibord.service" /etc/systemd/system/
# Обновляем путь к проекту в сервисе
echo "[2/4] Настройка путей..."
sed -i "s|/home/pi/carpibord|$PROJECT_DIR|g" /etc/systemd/system/carpibord.service
# Определяем пользователя (кто запустил sudo)
ACTUAL_USER="${SUDO_USER:-pi}"
sed -i "s|User=pi|User=$ACTUAL_USER|g" /etc/systemd/system/carpibord.service
# Перезагружаем systemd
echo "[3/4] Перезагрузка systemd..."
systemctl daemon-reload
# Включаем сервисы
echo "[4/4] Включение сервисов..."
systemctl enable can0-link.service
systemctl enable carpibord.service
echo ""
echo "=== Готово! ==="
echo ""
echo "Команды управления:"
echo " sudo systemctl start carpibord # Запустить (can0 поднимется автоматически)"
echo " sudo systemctl stop carpibord # Остановить"
echo " sudo systemctl status carpibord # Статус"
echo " journalctl -u carpibord -f # Логи в реальном времени"
echo ""
echo "Сервисы запустятся автоматически при следующей загрузке."