mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-01-31 04:50:14 +00:00
Compare commits
12 Commits
d6ff3ddf9f
...
61cf1edffe
Author | SHA1 | Date | |
---|---|---|---|
|
61cf1edffe | ||
|
f8f166e26f | ||
|
b97d40bf5a | ||
|
0e443536cc | ||
|
0b73d9f689 | ||
|
5c11b67507 | ||
|
2f20db8a42 | ||
|
b04dc0261b | ||
|
85eb661c08 | ||
|
d242578c35 | ||
|
67ddcd6ebb | ||
|
1789b71734 |
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
|
||||||
|
@ -23,10 +23,14 @@ Do not break established syntax in this file, as it is automatically updated by
|
|||||||
|
|
||||||
### 💥 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))
|
||||||
|
|
||||||
|
@ -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}"
|
@ -12,14 +12,10 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add tzdata
|
$STD apk add tzdata
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Docker"
|
msg_info "Installing Docker"
|
||||||
|
@ -12,14 +12,7 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Grafana"
|
msg_info "Installing Grafana"
|
||||||
$STD apk add grafana
|
$STD apk add grafana
|
||||||
|
@ -12,14 +12,7 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
@ -12,14 +12,10 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssl
|
$STD apk add openssl
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
$STD apk add nginx
|
$STD apk add nginx
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
@ -12,14 +12,10 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssl
|
$STD apk add openssl
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
$STD apk add argon2
|
$STD apk add argon2
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
@ -12,14 +12,7 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Alpine-Zigbee2MQTT"
|
msg_info "Installing Alpine-Zigbee2MQTT"
|
||||||
$STD apk add zigbee2mqtt
|
$STD apk add zigbee2mqtt
|
||||||
|
@ -12,12 +12,7 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y curl
|
|
||||||
$STD apt-get install -y sudo
|
|
||||||
$STD apt-get install -y mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
@ -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"
|
@ -12,12 +12,7 @@ catch_errors
|
|||||||
setting_up_container
|
setting_up_container
|
||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
install_core_packages
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y curl
|
|
||||||
$STD apt-get install -y sudo
|
|
||||||
$STD apt-get install -y mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
@ -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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -133,6 +133,14 @@ update_os() {
|
|||||||
msg_ok "Updated Container OS"
|
msg_ok "Updated Container OS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Install core packages that (almost) every container will depend upon.
|
||||||
|
# Be sure to update install.func for apt-based systems as appropriate.
|
||||||
|
install_core_packages() {
|
||||||
|
msg_info "Installing Core Packages"
|
||||||
|
apk add -q curl mc nano newt openssh sudo &>/dev/null
|
||||||
|
msg_ok "Installed Core Packages"
|
||||||
|
}
|
||||||
|
|
||||||
# This function modifies the message of the day (motd) and SSH settings
|
# This function modifies the message of the day (motd) and SSH settings
|
||||||
motd_ssh() {
|
motd_ssh() {
|
||||||
# Set terminal to 256-color mode
|
# Set terminal to 256-color mode
|
||||||
|
@ -197,6 +197,15 @@ EOF
|
|||||||
msg_ok "Updated Container OS"
|
msg_ok "Updated Container OS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Install core packages that (almost) every container will depend upon.
|
||||||
|
# Be sure to update alpine-install.func to match for apk-based systems when
|
||||||
|
# adding a new package.
|
||||||
|
install_core_packages() {
|
||||||
|
msg_info "Installing Core Packages"
|
||||||
|
apt-get install -y curl mc sudo &> /dev/null
|
||||||
|
msg_ok "Installed Core Packages"
|
||||||
|
}
|
||||||
|
|
||||||
# This function modifies the message of the day (motd) and SSH settings
|
# This function modifies the message of the day (motd) and SSH settings
|
||||||
motd_ssh() {
|
motd_ssh() {
|
||||||
# Set terminal to 256-color mode
|
# Set terminal to 256-color mode
|
||||||
|
@ -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