Compare commits

...

21 Commits

Author SHA1 Message Date
Johanna Rührig
926fac9422
Merge f3db85739e into f8f166e26f 2025-01-18 23:39:13 +01:00
community-scripts-pr-app[bot]
f8f166e26f
Update CHANGELOG.md (#1577)
Some checks are pending
Auto Update .app-headers / update-app-headers (push) Waiting to run
Shellcheck / Shellcheck (push) Waiting to run
Create Changelog Pull Request / update-changelog-pull-request (push) Waiting to run
Frontend CI/CD / build (push) Waiting to run
Frontend CI/CD / deploy (push) Blocked by required conditions
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-18 21:12:13 +01:00
CanbiZ
b97d40bf5a
update 2025-01-18 21:11:26 +01:00
CanbiZ
0e443536cc
update 2025-01-18 21:07:19 +01:00
community-scripts-pr-app[bot]
0b73d9f689
[Github Action] Update CHANGELOG.md (#1573)
* Update CHANGELOG.md

* update

* update

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-01-18 20:57:47 +01:00
Egon
5c11b67507
added cifs support in ubuntu2404-vm.sh (#1461)
added cifs to 
case $STORAGE_TYPE in
nfs | dir | cifs)

So VMs can be deployed on cifs shares
2025-01-18 20:54:43 +01:00
CanbiZ
2f20db8a42
breaking change: homeassistant upgrade os and python3 (#1550)
* breaking change: homeassistant upgrade os and python3

* update json to new date and new ressource values
2025-01-18 20:54:11 +01:00
community-scripts-pr-app[bot]
b04dc0261b
Update CHANGELOG.md (#1566)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-18 19:14:34 +01:00
Johanna Rührig
f3db85739e debugging npm yarn. 2025-01-01 21:35:10 +01:00
Johanna Rührig
66015ba45c debugging npm yarn. 2025-01-01 21:31:37 +01:00
Johanna Rührig
303f08e488 removed duplicate mkdir. 2025-01-01 21:28:44 +01:00
Johanna Rührig
1f1e0c31bf Fixing name issues. 2025-01-01 21:27:31 +01:00
Johanna Rührig
36c004706b fixes. 2025-01-01 21:25:13 +01:00
Johanna Rührig
7f69965576 Added mc. 2025-01-01 21:22:02 +01:00
Johanna Rührig
f8f890f01f Added unzip. 2025-01-01 21:18:35 +01:00
Johanna Rührig
8b691a5b79 source env vars. 2025-01-01 21:15:15 +01:00
Johanna Rührig
496792f102 fixing useradd command. 2025-01-01 21:11:53 +01:00
Johanna Rührig
46669f4cfe Added missing folder. 2025-01-01 21:10:24 +01:00
Johanna Rührig
0ae1c6492b Removed 5etools. Different project... 2025-01-01 20:49:28 +01:00
Johanna Rührig
ebcb0e846b Init mealie lxc. 2025-01-01 20:48:05 +01:00
Johanna Rührig
aca900782e Testing 5etools. 2024-12-31 18:44:46 +01:00
9 changed files with 275 additions and 36 deletions

View File

@ -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

View File

@ -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))

View File

@ -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"

72
ct/mealie.sh Normal file
View File

@ -0,0 +1,72 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: TheRealVira
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/mealie-recipes/mealie
# App Default Values
APP="mealie"
var_tags="food"
var_cpu="2"
var_ram="2048"
var_disk="6"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
# Check if installation is present | -f for file, -d for folder
if [[ ! -d "/opt/${APP}" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/mealie-recipes/mealie/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then
# Crawling the new version and checking whether an update is required
msg_info "Updating System"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated System"
# Execute Update
msg_info "Updating ${APP}"
# TBD
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
# Cleaning up
msg_info "Cleaning Up"
rm "${RELEASE}.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleanup Completed"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
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}:9000${CL}"

View File

@ -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

120
install/mealie-install.sh Normal file
View File

@ -0,0 +1,120 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: TheRealVira
# License: MIT
# Source: https://github.com/mealie-recipes/mealie
# Import Functions und Setup
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
nodejs \
npm \
sudo \
git \
python3 \
curl \
mc \
build-essential \
libwebp-dev \
libsasl2-dev \
libldap2-dev \
libssl-dev \
gnupg \
gnupg2 \
gnupg1 \
gosu \
iproute2 \
libldap-common \
libldap-2.5
mkdir /app
npm install -g yarn
msg_ok "Installed Dependencies"
RELEASE=$(curl -s https://api.github.com/repos/mealie-recipes/mealie/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
msg_info "Downloading mealie ${RELEASE}"
wget -q "https://github.com/mealie-recipes/mealie/archive/refs/tags/${RELEASE}.zip"
unzip "${RELEASE}.zip" -d /app/mealie
echo "${RELEASE}" >/app/mealie_version.txt
msg_ok "Downloading mealie ${RELEASE}"
msg_info "Setting up frontend"
cd /app/mealie
/usr/local/bin/yarn install \
--prefer-offline \
--frozen-lockfile \
--non-interactive \
--production=false \
--network-timeout=1000000
/usr/local/bin/yarn generate
msg_ok "Setting up frontend"
msg_info "Setting up ENV"
cat <<EOF >>/etc/environment
MEALIE_HOME="/app"
PYTHONUNBUFFERED=1
PYTHONDONTWRITEBYTECODE=1
PIP_NO_CACHE_DIR=off
PIP_DISABLE_PIP_VERSION_CHECK=on
PIP_DEFAULT_TIMEOUT=100
POETRY_HOME="/opt/poetry"
POETRY_VIRTUALENVS_IN_PROJECT=true
POETRY_NO_INTERACTION=1
POETRY_VERSION=1.3.1
PYSETUP_PATH="/opt/pysetup"
VENV_PATH="/opt/pysetup/.venv"
PRODUCTION=true
TESTING=false
LD_LIBRARY_PATH=/usr/local/lib
APP_PORT=9000
STATIC_FILES=/spa/static
HOST 0.0.0.0
EOF
export PATH="$POETRY_HOME/bin:$VENV_PATH/bin:$PATH"
set -a; source /etc/environment; set +a;
msg_ok "Setting up ENV"
msg_info "Create user account"
useradd -u 911 -U -d $MEALIE_HOME -s /bin/bash abc
usermod -G users abc
msg_ok "Create user account"
msg_info "Builder Image"
pip install -U --no-cache-dir pip
curl -sSL https://install.python-poetry.org | python3 -
cd $PYSETUP_PATH
cp ./poetry.lock ./pyproject.toml ./
poetry install -E pgsql --only main
msg_ok "Builder Image"
msg_info "CRFPP Image"
mkdir -p /run/secrets
cp ./mealie $MEALIE_HOME/mealie
cp ./poetry.lock ./pyproject.toml $MEALIE_HOME/
cd $MEALIE_HOME
. $VENV_PATH/bin/activate
poetry install -E pgsql --only main
cd ~
python $MEALIE_HOME/mealie/scripts/install_model.py
msg_ok "CRFPP Image"
msg_info "Copy Frontend"
cp /app/dist $STATIC_FILES
cp ./docker/entry.sh $MEALIE_HOME/run.sh
chmod +x $MEALIE_HOME/run.sh
$MEALIE_HOME/run.sh
msg_ok "Copy Frontend"
motd_ssh
customize

View File

@ -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"
},
{

34
json/mealie.json Normal file
View File

@ -0,0 +1,34 @@
{
"name": "mealie",
"slug": "mealie",
"categories": [
0
],
"date_created": "2025-01-01",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9000,
"documentation": "https://docs.mealie.io/",
"website": "https://mealie.io/",
"logo": "https://raw.githubusercontent.com/mealie-recipes/mealie/refs/heads/mealie-next/docs/docs/assets/img/favicon.png",
"description": "A self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family.",
"install_methods": [
{
"type": "default",
"script": "ct/mealie.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -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"