Initial commit: FarmBox edge stack (ESP32 firmware + MQTT bridge + sync agent)
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user