mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-01-31 04:50:14 +00:00
Compare commits
10 Commits
74ee8ad3f3
...
885661088f
Author | SHA1 | Date | |
---|---|---|---|
|
885661088f | ||
|
c4580100a8 | ||
|
f8f166e26f | ||
|
b97d40bf5a | ||
|
0e443536cc | ||
|
0b73d9f689 | ||
|
5c11b67507 | ||
|
2f20db8a42 | ||
|
b04dc0261b | ||
|
81b271a9ef |
1
.github/CONTRIBUTING.md
vendored
1
.github/CONTRIBUTING.md
vendored
@ -2,6 +2,7 @@
|
||||
# Community Scripts Contribution Guide
|
||||
|
||||
## **Welcome to the communty-scripts Repository!**
|
||||
|
||||
📜 These documents outline the essential coding standards for all our scripts and JSON files. Adhering to these standards ensures that our codebase remains consistent, readable, and maintainable. By following these guidelines, we can improve collaboration, reduce errors, and enhance the overall quality of our project.
|
||||
|
||||
### Why Coding Standards Matter
|
||||
|
@ -23,10 +23,14 @@ Do not break established syntax in this file, as it is automatically updated by
|
||||
|
||||
### 💥 Breaking Changes
|
||||
|
||||
- **READ GUIDE FIRST** breaking change: Homeassistant-Core upgrade os and python3 [@MickLesk](https://github.com/MickLesk) ([#1550](https://github.com/community-scripts/ProxmoxVE/pull/1550))
|
||||
- Update Openwrt: Delete lines that do WAN input and forward accept [@chackl1990](https://github.com/chackl1990) ([#1540](https://github.com/community-scripts/ProxmoxVE/pull/1540))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- added cifs support in ubuntu2404-vm.sh [@plonxyz](https://github.com/plonxyz) ([#1461](https://github.com/community-scripts/ProxmoxVE/pull/1461))
|
||||
- Fix linkwarden update [@burgerga](https://github.com/burgerga) ([#1565](https://github.com/community-scripts/ProxmoxVE/pull/1565))
|
||||
- [jellyseerr] Update nodejs if not up-to-date [@makstech](https://github.com/makstech) ([#1563](https://github.com/community-scripts/ProxmoxVE/pull/1563))
|
||||
- Update VM Tags [@oOStroudyOo](https://github.com/oOStroudyOo) ([#1562](https://github.com/community-scripts/ProxmoxVE/pull/1562))
|
||||
- Update apt-cacher-ng.sh: Typo/Missing $ [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1545](https://github.com/community-scripts/ProxmoxVE/pull/1545))
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/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/
|
||||
|
||||
@ -9,10 +9,10 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
||||
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
|
||||
@ -26,6 +26,13 @@ catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
|
||||
# OS Check
|
||||
if ! lsb_release -d | grep -q "Ubuntu 24.10"; then
|
||||
msg_error "Wrong OS detected. This script only supports Ubuntu 24.10."
|
||||
msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549"
|
||||
exit 1
|
||||
fi
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /srv/homeassistant ]]; then
|
||||
@ -51,17 +58,13 @@ 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"
|
||||
|
||||
msg_info "Updating Home Assistant"
|
||||
source /srv/homeassistant/bin/activate
|
||||
uv pip install ${BR}--upgrade homeassistant &>/dev/null
|
||||
pip install ${BR}--upgrade homeassistant &>/dev/null
|
||||
msg_ok "Updated Home Assistant"
|
||||
|
||||
msg_info "Starting Home Assistant"
|
||||
@ -75,7 +78,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)"
|
||||
@ -102,16 +105,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"
|
||||
|
@ -32,29 +32,35 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop opengist.service
|
||||
msg_ok "Stopped Service"
|
||||
apt-get update &>/dev/null
|
||||
apt-get upgrade &>/dev/null
|
||||
RELEASE=$(curl -s https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
cd /opt
|
||||
wget -qO "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz"
|
||||
rm -rf /opt/opengist
|
||||
mv /opt/opengist /opt/opengist-backup
|
||||
wget -q "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz"
|
||||
tar -xzf opengist${RELEASE}-linux-amd64.tar.gz
|
||||
mv /opt/opengist-backup/config.yml /opt/opengist/config.yml
|
||||
chmod +x /opt/opengist/opengist
|
||||
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
||||
rm -rf /opt/opengist${RELEASE}-linux-amd64.tar.gz
|
||||
apt-get -y autoremove &>/dev/null
|
||||
apt-get -y autoclean &>/dev/null
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start opengist.service
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/opengist${RELEASE}-linux-amd64.tar.gz
|
||||
rm -rf /opt/opengist-backup
|
||||
apt-get -y autoremove &>/dev/null
|
||||
apt-get -y autoclean &>/dev/null
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}."
|
||||
fi
|
||||
|
@ -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
|
||||
|
@ -4,7 +4,7 @@
|
||||
"categories": [
|
||||
2
|
||||
],
|
||||
"date_created": "2024-04-29",
|
||||
"date_created": "2025-01-17",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
@ -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"
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -40,7 +40,7 @@
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Use Ubuntu 24.04 ONLY",
|
||||
"text": "Use Ubuntu 24.10 ONLY",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-01-14",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 6157,
|
||||
"documentation": null,
|
||||
|
@ -1,4 +1,4 @@
|
||||
### Generated on 01-18-2025
|
||||
### Generated on 01-19-2025
|
||||
##################################################
|
||||
|
||||
### 2fauth.sh
|
||||
|
@ -370,7 +370,7 @@ msg_ok "Downloaded ${CL}${BL}${FILE}${CL}"
|
||||
|
||||
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
|
||||
case $STORAGE_TYPE in
|
||||
nfs | dir)
|
||||
nfs | dir | cifs)
|
||||
DISK_EXT=".qcow2"
|
||||
DISK_REF="$VMID/"
|
||||
DISK_IMPORT="-format qcow2"
|
||||
|
Loading…
Reference in New Issue
Block a user