123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #!/usr/bin/env bash
- # Copyright (c) 2021-2023 tteck
- # Author: tteck (tteckster)
- # License: MIT
- # https://github.com/tteck/Proxmox/raw/main/LICENSE
- source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
- color
- verb_ip6
- catch_errors
- setting_up_container
- network_check
- update_os
- if [[ "$PCT_OSVERSION" == "12" ]]; then
- msg_info "Installing Dependencies, Bookworm (Patience)"
- $STD apt-get install -y \
- git \
- curl \
- sudo \
- mc \
- python3 \
- python3-dev \
- python3-venv \
- python3-pip \
- bluez \
- libffi-dev \
- libssl-dev \
- libjpeg-dev \
- zlib1g-dev \
- autoconf \
- build-essential \
- libopenjp2-7 \
- libturbojpeg0-dev \
- tzdata \
- ffmpeg \
- liblapack3 \
- liblapack-dev \
- libatlas-base-dev
- $STD systemctl disable systemd-networkd-wait-online.service
- msg_ok "Installed Dependencies"
- else
- msg_info "Installing Dependencies, Bullseye (Patience)"
- $STD apt-get install -y \
- git \
- curl \
- sudo \
- mc \
- build-essential \
- libssl-dev \
- zlib1g-dev \
- libbz2-dev \
- libpcap-dev \
- libreadline-dev \
- libsqlite3-dev \
- libncursesw5-dev \
- xz-utils \
- tk-dev \
- llvm \
- libxml2-dev \
- libxmlsec1-dev \
- libffi-dev \
- liblzma-dev \
- dbus-broker \
- bluez \
- libmariadb-dev-compat \
- libjpeg-dev \
- autoconf \
- libopenjp2-7 \
- libtiff5 \
- libturbojpeg0-dev \
- liblapack3 \
- liblapack-dev \
- libatlas-base-dev
- msg_ok "Installed Dependencies"
- msg_info "Installing pyenv"
- $STD git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- set +e
- echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.bashrc
- echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.bashrc
- echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init --path)"\nfi' >>~/.bashrc
- msg_ok "Installed pyenv"
- . ~/.bashrc
- set -e
- msg_info "Installing Python 3.11.3 (Patience)"
- $STD pyenv install 3.11.3
- pyenv global 3.11.3
- msg_ok "Installed Python 3.11.3"
- fi
- msg_info "Installing Home Assistant-Core"
- mkdir /srv/homeassistant
- cd /srv/homeassistant
- python3 -m venv .
- source bin/activate
- $STD pip install --upgrade pip
- $STD python3 -m pip install wheel
- $STD pip install homeassistant
- mkdir -p /root/.homeassistant
- msg_ok "Installed Home Assistant-Core"
- msg_info "Creating Service"
- 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"
- Restart=always
- RestartForceExitStatus=100
- [Install]
- WantedBy=multi-user.target
- EOF
- $STD systemctl enable --now homeassistant
- msg_ok "Created Service"
- motd_ssh
- customize
- msg_info "Cleaning up"
- $STD apt-get autoremove
- $STD apt-get autoclean
- msg_ok "Cleaned"
|