Files
farmbox/install.sh
T

58 lines
1.9 KiB
Bash

#!/bin/bash
# FarmBox — скрипт установки на Mini PC / Raspberry Pi
# Запускать: curl -fsSL https://to.zeroday.su/install.sh | bash
# Или: chmod +x install.sh && ./install.sh
set -e
echo "╔══════════════════════════════════════════╗"
echo "║ FarmBox — Установка ║"
echo "╚══════════════════════════════════════════╝"
# Проверка Docker
if ! command -v docker &> /dev/null; then
echo "Установка Docker..."
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
fi
if ! command -v docker-compose &> /dev/null; then
echo "Установка Docker Compose..."
sudo apt-get install -y docker-compose-plugin
fi
# Запрос данных фермы
echo ""
read -p "Название фермы (пример: ООО Молоко): " FARM_NAME
read -p "ID фермы (пример: farm_001): " FARM_ID
read -p "Токен синхронизации (получить у поставщика): " SYNC_TOKEN
# Создаём .env
cat > .env << EOF
FARM_ID=${FARM_ID}
FARM_NAME=${FARM_NAME}
SYNC_TOKEN=${SYNC_TOKEN}
IOT_TOKEN=farmbox-iot-$(openssl rand -hex 8)
TZ=Europe/Moscow
EOF
echo ".env создан"
# Устанавливаем зависимости iot-bridge
cd iot-bridge && npm install --production && cd ..
cd sync-agent && npm install --production && cd ..
# Запускаем стек
docker compose up -d
echo ""
echo "✅ FarmBox запущен!"
echo ""
echo "Доступные сервисы:"
echo " farm-cmms: http://localhost:3005"
echo " Grafana: http://localhost:3001 (admin / farm2024)"
echo " Node-RED: http://localhost:1880"
echo " MQTT: localhost:1883"
echo ""
echo "Для просмотра логов: docker compose logs -f"