First commit with entire first rendition of the project
This commit is contained in:
79
install.sh
Executable file
79
install.sh
Executable file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo "========================================="
|
||||
echo " Spectra - Inky Impression Installer"
|
||||
echo "========================================="
|
||||
|
||||
# --- Inky library (Raspberry Pi only) ---
|
||||
if [[ -f /proc/device-tree/model ]] && grep -qi "raspberry pi" /proc/device-tree/model 2>/dev/null; then
|
||||
echo ""
|
||||
echo "[1/5] Installing Inky library..."
|
||||
if python3 -c "import inky" 2>/dev/null; then
|
||||
echo " Inky library already installed, skipping."
|
||||
else
|
||||
echo " Cloning from Pimoroni..."
|
||||
cd /tmp
|
||||
git clone --depth=1 https://github.com/pimoroni/inky.git
|
||||
cd inky
|
||||
./install.sh
|
||||
cd /
|
||||
rm -rf /tmp/inky
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
echo "[1/5] No Raspberry Pi detected — skipping Inky library install."
|
||||
echo " Use --simulate to test without a display."
|
||||
fi
|
||||
|
||||
# --- Python dependencies ---
|
||||
echo ""
|
||||
echo "[2/5] Installing Python dependencies..."
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r requirements.txt
|
||||
|
||||
# --- Package ---
|
||||
echo ""
|
||||
echo "[3/5] Installing spectra package..."
|
||||
python3 -m pip install -e .
|
||||
|
||||
# --- Display service ---
|
||||
echo ""
|
||||
echo "[4/5] Setting up display service..."
|
||||
sudo mkdir -p /etc/spectra
|
||||
if [[ ! -f /etc/spectra/config.yaml ]]; then
|
||||
sudo cp config.yaml /etc/spectra/config.yaml
|
||||
echo " Default config copied to /etc/spectra/config.yaml"
|
||||
fi
|
||||
|
||||
sudo cp systemd/spectra.service /etc/systemd/system/
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable spectra.service
|
||||
echo " Display service enabled"
|
||||
|
||||
# --- Web service ---
|
||||
echo ""
|
||||
echo "[5/5] Setting up web interface service..."
|
||||
sudo cp systemd/spectra-web.service /etc/systemd/system/
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable spectra-web.service
|
||||
echo " Web interface service enabled"
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo " Installation complete!"
|
||||
echo ""
|
||||
echo " To configure:"
|
||||
echo " sudo nano /etc/spectra/config.yaml"
|
||||
echo " (add your Unsplash API access key)"
|
||||
echo ""
|
||||
echo " Display service:"
|
||||
echo " sudo systemctl start spectra"
|
||||
echo ""
|
||||
echo " Web interface:"
|
||||
echo " sudo systemctl start spectra-web"
|
||||
echo " http://<raspberry-pi-ip>:5000"
|
||||
echo ""
|
||||
echo " To test without hardware:"
|
||||
echo " spectra --simulate --once"
|
||||
echo "========================================="
|
||||
Reference in New Issue
Block a user