Skip to content

**READ GUIDE FIRST** breaking change: Homeassistant-Core upgrade os and python3 #1550

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions ct/homeassistant-core.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.home-assistant.io/

# App Default Values
APP="Home Assistant-Core"
var_tags="automation;smarthome"
var_cpu="2"
var_ram="1024"
var_disk="8"
var_ram="2048"
var_disk="10"
var_os="ubuntu"
var_version="24.04"
var_version="24.10"
var_unprivileged="1"

# App Output & Base Settings
Expand Down Expand Up @@ -51,10 +51,6 @@ function update_script() {
echo -e "${GN}Updating to Stable Version${CL}"
BR=""
fi
if [[ "$PY" =~ ^python3\.(11|12)\.[0-9]+$ ]]; then
echo -e "⚠️ Home Assistant will soon require Python 3.13.x";
fi

msg_info "Stopping Home Assistant"
systemctl stop homeassistant
msg_ok "Stopped Home Assistant"
Expand All @@ -75,7 +71,7 @@ function update_script() {
if [ "$UPD" == "2" ]; then
msg_info "Installing Home Assistant Community Store (HACS)"
apt update &>/dev/null
apt install unzip &>/dev/null
apt install -y unzip &>/dev/null
cd .homeassistant
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
msg_ok "Installed Home Assistant Community Store (HACS)"
Expand All @@ -102,16 +98,19 @@ function update_script() {
msg_ok "Installed FileBrowser"

msg_info "Creating Service"
service_path="/etc/systemd/system/filebrowser.service"
echo "[Unit]
cat <<EOF > /etc/systemd/system/filebrowser.service
[Unit]
Description=Filebrowser
After=network-online.target

[Service]
User=root
WorkingDirectory=/root/
ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant

[Install]
WantedBy=default.target" >$service_path
WantedBy=default.target
EOF

systemctl enable --now -q filebrowser.service
msg_ok "Created Service"
Expand All @@ -130,4 +129,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
30 changes: 16 additions & 14 deletions install/homeassistant-core-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,34 +44,36 @@ $STD apt-get install -y \
libavfilter-dev \
libmariadb-dev-compat \
libatlas-base-dev \
software-properties-common
software-properties-common \
libmariadb-dev \
pkg-config
msg_ok "Installed Dependencies"

msg_info "Setup Python3"
$STD add-apt-repository -y ppa:deadsnakes/ppa
msg_info "Setup Python3/pip"
$STD apt-get update
$STD rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
$STD apt-get remove --purge -y python3.12 python3.12-dev python3.12-venv

$STD apt-get install -y \
python3.13-* \
python3.13 \
python3-pip \
python3.13-dev \
python3.13-venv
msg_ok "Setup Python3"

msg_info "Installing UV"
$STD pip install uv
msg_ok "Installed UV"
ln -sf /usr/bin/python3.13 /usr/bin/python3
msg_ok "Setup Python3"

msg_info "Setting up Home Assistant-Core environment"
mkdir /srv/homeassistant
cd /srv/homeassistant
uv venv . &>/dev/null
python3 -m venv .
source bin/activate
msg_ok "Created virtual environment with UV"
msg_ok "Created virtual environment"

msg_info "Installing Home Assistant-Core and packages"
$STD uv pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
msg_info "Installing Home Assistant-Core"
$STD python3 -m pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
mkdir -p /root/.homeassistant
msg_ok "Installed Home Assistant-Core and required packages"
msg_ok "Installed Home Assistant-Core"

msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/homeassistant.service
Expand All @@ -97,4 +99,4 @@ customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
msg_ok "Cleaned"
12 changes: 6 additions & 6 deletions json/homeassistant-core.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"categories": [
2
],
"date_created": "2024-04-29",
"date_created": "2025-01-17",
"type": "ct",
"updateable": true,
"privileged": false,
Expand All @@ -19,10 +19,10 @@
"script": "ct/homeassistant-core.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 8,
"ram": 2048,
"hdd": 10,
"os": "ubuntu",
"version": "24.04"
"version": "24.10"
}
}
],
Expand All @@ -40,12 +40,12 @@
"type": "warning"
},
{
"text": "Use Ubuntu 24.04 ONLY",
"text": "Use Ubuntu 24.10 ONLY",
"type": "warning"
},
{
"text": "config path: `/root/.homeassistant`",
"type": "info"
}
]
}
}
Loading