123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #!/usr/bin/env bash
- if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi
- set -e
- DIR=/root/.pyenv/versions/3.10.8
- if [ -d "$DIR" ]; then
- echo "Python 3.10.8 is already installed, moving on..."
- else
- echo "Installing Python 3.10.8"
- pyenv install 3.10.8 &>/dev/null
- pyenv global 3.10.8
- echo "Installed Python 3.10.8"
- fi
- read -r -p "Would you like to install Home Assistant Beta? <y/N> " prompt
- if [[ $prompt == "y" || $prompt == "Y" || $prompt == "yes" || $prompt == "Yes" ]]; then
- HA="Y"
- fi
- if [[ $HA == "Y" ]]; then
- echo "Installing Home Assistant Beta"
- cat <<EOF >/etc/systemd/system/homeassistant.service
- [Unit]
- Description=Home Assistant
- After=network-online.target
- [Service]
- Type=simple
- WorkingDirectory=/root/.homeassistant
- ExecStart=/srv/homeassistant/bin/hass -c "/root/.homeassistant"
- RestartForceExitStatus=100
- [Install]
- WantedBy=multi-user.target
- EOF
- mkdir /srv/homeassistant
- cd /srv/homeassistant
- python3 -m venv .
- source bin/activate
- python3 -m pip install wheel &>/dev/null
- pip3 install --upgrade pip &>/dev/null
- pip3 install psycopg2-binary &>/dev/null
- pip3 install --pre homeassistant &>/dev/null
- systemctl enable homeassistant &>/dev/null
- echo "Installed Home Assistant Beta"
- echo -e " Go to $(hostname -I | awk '{print $1}'):8123"
- hass
- fi
- read -r -p "Would you like to install ESPHome Beta? <y/N> " prompt
- if [[ $prompt == "y" || $prompt == "Y" || $prompt == "yes" || $prompt == "Yes" ]]; then
- ESP="Y"
- fi
- if [[ $ESP == "Y" ]]; then
- echo "Installing ESPHome Beta"
- mkdir /srv/esphome
- cd /srv/esphome
- python3 -m venv .
- source bin/activate
- python3 -m pip install wheel &>/dev/null
- pip3 install --upgrade pip &>/dev/null
- pip3 install --pre esphome &>/dev/null
- cat <<EOF >/srv/esphome/start.sh
- #!/bin/bash
- source /srv/esphome/bin/activate
- esphome dashboard /srv/esphome/
- EOF
- chmod +x start.sh
- cat <<EOF >/etc/systemd/system/esphomedashboard.service
- [Unit]
- Description=ESPHome Dashboard Service
- After=network.target
- [Service]
- Type=simple
- User=root
- WorkingDirectory=/srv/esphome
- ExecStart=/srv/esphome/start.sh
- RestartSec=30
- Restart=on-failure
- [Install]
- WantedBy=multi-user.target
- EOF
- systemctl enable --now esphomedashboard &>/dev/null
- echo "Installed ESPHome Beta"
- echo -e " Go to $(hostname -I | awk '{print $1}'):6052"
- fi
- read -r -p "Would you like to install Matter-Server? <y/N> " prompt
- if [[ $prompt == "y" || $prompt == "Y" || $prompt == "yes" || $prompt == "Yes" ]]; then
- MTR="Y"
- fi
- if [[ $MTR == "Y" ]]; then
- echo "Installing Matter Server"
- apt-get install -y \
- libcairo2-dev \
- libjpeg62-turbo-dev \
- libgirepository1.0-dev \
- libpango1.0-dev \
- libgif-dev \
- g++ &>/dev/null
- python3 -m pip install wheel
- pip3 install --upgrade pip
- pip install python-matter-server[server]
- echo "Installed Matter Server"
- echo -e "Start server > python -m matter_server.server"
- fi
- echo -e "\nFinished\n"
|