mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-01-31 13:00:16 +00:00
Compare commits
12 Commits
4fd2b67c65
...
172dcb119a
Author | SHA1 | Date | |
---|---|---|---|
|
172dcb119a | ||
|
5d69a62b47 | ||
|
ed0b16bf17 | ||
|
9843b46a94 | ||
|
c4580100a8 | ||
|
f8f166e26f | ||
|
b97d40bf5a | ||
|
0e443536cc | ||
|
0b73d9f689 | ||
|
5c11b67507 | ||
|
2f20db8a42 | ||
|
b04dc0261b |
1
.github/CONTRIBUTING.md
vendored
1
.github/CONTRIBUTING.md
vendored
@ -2,6 +2,7 @@
|
|||||||
# Community Scripts Contribution Guide
|
# Community Scripts Contribution Guide
|
||||||
|
|
||||||
## **Welcome to the communty-scripts Repository!**
|
## **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.
|
📜 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
|
### Why Coding Standards Matter
|
||||||
|
12
CHANGELOG.md
12
CHANGELOG.md
@ -17,16 +17,28 @@ All LXC instances created using this repository come pre-installed with Midnight
|
|||||||
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
||||||
|
|
||||||
|
|
||||||
|
## 2025-01-19
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Update Opengist.sh: Fix broken backup function [@bvdberg01](https://github.com/bvdberg01) ([#1572](https://github.com/community-scripts/ProxmoxVE/pull/1572))
|
||||||
|
|
||||||
## 2025-01-18
|
## 2025-01-18
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
### 💥 Breaking Changes
|
### 💥 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))
|
- 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
|
### 🚀 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 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))
|
- Update apt-cacher-ng.sh: Typo/Missing $ [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1545](https://github.com/community-scripts/ProxmoxVE/pull/1545))
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<img src="https://img.shields.io/badge/Discord-7289da?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
<img src="https://img.shields.io/badge/Discord-7289da?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://ko-fi.com/community_scripts">
|
<a href="https://ko-fi.com/community_scripts">
|
||||||
<img src="https://img.shields.io/badge/Donate-FF5F5F?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Donate" />
|
<img src="https://img.shields.io/badge/Support-FF5F5F?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Donate" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
|
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
|
||||||
<img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
|
<img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://www.home-assistant.io/
|
# 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"
|
APP="Home Assistant-Core"
|
||||||
var_tags="automation;smarthome"
|
var_tags="automation;smarthome"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
var_ram="1024"
|
var_ram="2048"
|
||||||
var_disk="8"
|
var_disk="10"
|
||||||
var_os="ubuntu"
|
var_os="ubuntu"
|
||||||
var_version="24.04"
|
var_version="24.10"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
# App Output & Base Settings
|
||||||
@ -26,6 +26,13 @@ catch_errors
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
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_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /srv/homeassistant ]]; then
|
if [[ ! -d /srv/homeassistant ]]; then
|
||||||
@ -51,17 +58,13 @@ function update_script() {
|
|||||||
echo -e "${GN}Updating to Stable Version${CL}"
|
echo -e "${GN}Updating to Stable Version${CL}"
|
||||||
BR=""
|
BR=""
|
||||||
fi
|
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"
|
msg_info "Stopping Home Assistant"
|
||||||
systemctl stop homeassistant
|
systemctl stop homeassistant
|
||||||
msg_ok "Stopped Home Assistant"
|
msg_ok "Stopped Home Assistant"
|
||||||
|
|
||||||
msg_info "Updating Home Assistant"
|
msg_info "Updating Home Assistant"
|
||||||
source /srv/homeassistant/bin/activate
|
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_ok "Updated Home Assistant"
|
||||||
|
|
||||||
msg_info "Starting Home Assistant"
|
msg_info "Starting Home Assistant"
|
||||||
@ -75,7 +78,7 @@ function update_script() {
|
|||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
msg_info "Installing Home Assistant Community Store (HACS)"
|
msg_info "Installing Home Assistant Community Store (HACS)"
|
||||||
apt update &>/dev/null
|
apt update &>/dev/null
|
||||||
apt install unzip &>/dev/null
|
apt install -y unzip &>/dev/null
|
||||||
cd .homeassistant
|
cd .homeassistant
|
||||||
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
|
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
|
||||||
msg_ok "Installed Home Assistant Community Store (HACS)"
|
msg_ok "Installed Home Assistant Community Store (HACS)"
|
||||||
@ -102,16 +105,19 @@ function update_script() {
|
|||||||
msg_ok "Installed FileBrowser"
|
msg_ok "Installed FileBrowser"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
service_path="/etc/systemd/system/filebrowser.service"
|
cat <<EOF > /etc/systemd/system/filebrowser.service
|
||||||
echo "[Unit]
|
[Unit]
|
||||||
Description=Filebrowser
|
Description=Filebrowser
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=root
|
User=root
|
||||||
WorkingDirectory=/root/
|
WorkingDirectory=/root/
|
||||||
ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
|
ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=default.target" >$service_path
|
WantedBy=default.target
|
||||||
|
EOF
|
||||||
|
|
||||||
systemctl enable --now -q filebrowser.service
|
systemctl enable --now -q filebrowser.service
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
@ -130,4 +136,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${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}"
|
@ -32,29 +32,35 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
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) }')
|
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
|
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"
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
|
apt-get update &>/dev/null
|
||||||
|
apt-get -y upgrade &>/dev/null
|
||||||
cd /opt
|
cd /opt
|
||||||
wget -qO "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz"
|
mv /opt/opengist /opt/opengist-backup
|
||||||
rm -rf /opt/opengist
|
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
|
tar -xzf opengist${RELEASE}-linux-amd64.tar.gz
|
||||||
|
mv /opt/opengist-backup/config.yml /opt/opengist/config.yml
|
||||||
chmod +x /opt/opengist/opengist
|
chmod +x /opt/opengist/opengist
|
||||||
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
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_ok "Updated ${APP} LXC"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start opengist.service
|
systemctl start opengist.service
|
||||||
msg_ok "Started 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
|
else
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}."
|
msg_ok "No update required. ${APP} is already at v${RELEASE}."
|
||||||
fi
|
fi
|
||||||
|
@ -44,34 +44,36 @@ $STD apt-get install -y \
|
|||||||
libavfilter-dev \
|
libavfilter-dev \
|
||||||
libmariadb-dev-compat \
|
libmariadb-dev-compat \
|
||||||
libatlas-base-dev \
|
libatlas-base-dev \
|
||||||
software-properties-common
|
software-properties-common \
|
||||||
|
libmariadb-dev \
|
||||||
|
pkg-config
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setup Python3"
|
msg_info "Setup Python3/pip"
|
||||||
$STD add-apt-repository -y ppa:deadsnakes/ppa
|
|
||||||
$STD apt-get update
|
$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 \
|
$STD apt-get install -y \
|
||||||
python3.13-* \
|
python3.13 \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
python3.13-dev \
|
python3.13-dev \
|
||||||
python3.13-venv
|
python3.13-venv
|
||||||
msg_ok "Setup Python3"
|
|
||||||
|
|
||||||
msg_info "Installing UV"
|
ln -sf /usr/bin/python3.13 /usr/bin/python3
|
||||||
$STD pip install uv
|
msg_ok "Setup Python3"
|
||||||
msg_ok "Installed UV"
|
|
||||||
|
|
||||||
msg_info "Setting up Home Assistant-Core environment"
|
msg_info "Setting up Home Assistant-Core environment"
|
||||||
mkdir /srv/homeassistant
|
mkdir /srv/homeassistant
|
||||||
cd /srv/homeassistant
|
cd /srv/homeassistant
|
||||||
uv venv . &>/dev/null
|
python3 -m venv .
|
||||||
source bin/activate
|
source bin/activate
|
||||||
msg_ok "Created virtual environment with UV"
|
msg_ok "Created virtual environment"
|
||||||
|
|
||||||
msg_info "Installing Home Assistant-Core and packages"
|
msg_info "Installing Home Assistant-Core"
|
||||||
$STD uv pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
|
$STD python3 -m pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
|
||||||
mkdir -p /root/.homeassistant
|
mkdir -p /root/.homeassistant
|
||||||
msg_ok "Installed Home Assistant-Core and required packages"
|
msg_ok "Installed Home Assistant-Core"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/homeassistant.service
|
cat <<EOF >/etc/systemd/system/homeassistant.service
|
||||||
@ -97,4 +99,4 @@ customize
|
|||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get -y autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
@ -4,7 +4,7 @@
|
|||||||
"categories": [
|
"categories": [
|
||||||
2
|
2
|
||||||
],
|
],
|
||||||
"date_created": "2024-04-29",
|
"date_created": "2025-01-17",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
@ -19,10 +19,10 @@
|
|||||||
"script": "ct/homeassistant-core.sh",
|
"script": "ct/homeassistant-core.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 1024,
|
"ram": 2048,
|
||||||
"hdd": 8,
|
"hdd": 10,
|
||||||
"os": "ubuntu",
|
"os": "ubuntu",
|
||||||
"version": "24.04"
|
"version": "24.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -40,7 +40,7 @@
|
|||||||
"type": "warning"
|
"type": "warning"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "Use Ubuntu 24.04 ONLY",
|
"text": "Use Ubuntu 24.10 ONLY",
|
||||||
"type": "warning"
|
"type": "warning"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -48,4 +48,4 @@
|
|||||||
"type": "info"
|
"type": "info"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
],
|
],
|
||||||
"date_created": "2025-01-14",
|
"date_created": "2025-01-14",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": false,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 6157,
|
"interface_port": 6157,
|
||||||
"documentation": null,
|
"documentation": null,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
### Generated on 01-18-2025
|
### Generated on 01-19-2025
|
||||||
##################################################
|
##################################################
|
||||||
|
|
||||||
### 2fauth.sh
|
### 2fauth.sh
|
||||||
|
@ -370,7 +370,7 @@ msg_ok "Downloaded ${CL}${BL}${FILE}${CL}"
|
|||||||
|
|
||||||
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
|
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
|
||||||
case $STORAGE_TYPE in
|
case $STORAGE_TYPE in
|
||||||
nfs | dir)
|
nfs | dir | cifs)
|
||||||
DISK_EXT=".qcow2"
|
DISK_EXT=".qcow2"
|
||||||
DISK_REF="$VMID/"
|
DISK_REF="$VMID/"
|
||||||
DISK_IMPORT="-format qcow2"
|
DISK_IMPORT="-format qcow2"
|
||||||
|
Loading…
Reference in New Issue
Block a user