Compare commits

...

4 Commits

Author SHA1 Message Date
github-actions[bot] 0741fe960c Update CHANGELOG.md 2026-06-18 09:55:57 +00:00
Tobias e9b6af3531 refactor: crafty-controller (#15178)
* refactor: crafty-controller

* refactor: crafty-controller
2026-06-18 11:55:28 +02:00
community-scripts-pr-app[bot] ca95941cd9 Update CHANGELOG.md (#15179)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-18 09:53:40 +00:00
CanbiZ (MickLesk) 05823c3cb5 flowise: add deps / uv / python 3.11 (#15177) 2026-06-18 11:53:15 +02:00
4 changed files with 40 additions and 36 deletions
+12
View File
@@ -483,6 +483,18 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-06-18
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- flowise: add deps / uv / python 3.11 [@MickLesk](https://github.com/MickLesk) ([#15177](https://github.com/community-scripts/ProxmoxVE/pull/15177))
- #### 💥 Breaking Changes
- refactor: crafty-controller [@CrazyWolf13](https://github.com/CrazyWolf13) ([#15178](https://github.com/community-scripts/ProxmoxVE/pull/15178))
## 2026-06-17
### 🚀 Updated Scripts
+18 -23
View File
@@ -29,42 +29,37 @@ function update_script() {
exit
fi
RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//')
if [[ ! -f /opt/crafty-controller_version.txt ]] || [[ ${RELEASE} != "$(cat /opt/crafty-controller_version.txt)" ]]; then
if check_for_gl_release "Crafty-Controller" "crafty-controller/crafty-4"; then
msg_info "Stopping Crafty-Controller"
systemctl stop crafty-controller
msg_ok "Stopped Crafty-Controller"
create_backup /opt/crafty-controller/crafty/crafty-4/app/config/version.json \
/opt/crafty-controller/crafty/crafty-4/app/config/credits.json \
/opt/crafty-controller/crafty/crafty-4/app/config/logging.json \
/opt/crafty-controller/crafty/crafty-4/app/config/default.json.example \
/opt/crafty-controller/crafty/crafty-4/app/config/motd_format.json
create_backup \
"/opt/crafty-controller/crafty/crafty-4/app/config/db" \
"/opt/crafty-controller/crafty/crafty-4/app/config/config.json" \
"/opt/crafty-controller/crafty/crafty-4/app/config/web" \
"/opt/crafty-controller/crafty/crafty-4/servers" \
"/opt/crafty-controller/crafty/crafty-4/backups" \
"/opt/crafty-controller/crafty/crafty-4/import"
msg_info "Updating Crafty-Controller to v${RELEASE}"
curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip")
$STD unzip crafty-4-v"${RELEASE}".zip
cp -a crafty-4-v"${RELEASE}"/. /opt/crafty-controller/crafty/crafty-4/
rm -rf crafty-4-v"${RELEASE}"
cd /opt/crafty-controller/crafty/crafty-4
sudo -u crafty bash -c '
source /opt/crafty-controller/crafty/.venv/bin/activate
pip3 install --no-cache-dir -r requirements.txt
' &>/dev/null
echo "${RELEASE}" >"/opt/crafty-controller_version.txt"
msg_ok "Updated Crafty-Controller to v${RELEASE}"
CLEAN_INSTALL=1 fetch_and_deploy_gl_release "Crafty-Controller" "crafty-controller/crafty-4" "tarball" "latest" "/opt/crafty-controller/crafty/crafty-4"
restore_backup
chown -R crafty:crafty /opt/crafty-controller/
msg_info "Updating Python dependencies"
chown -R crafty:crafty /opt/crafty-controller
cd /opt/crafty-controller/crafty/crafty-4
$STD sudo -u crafty bash -c '
source /opt/crafty-controller/crafty/.venv/bin/activate
pip3 install --no-cache-dir -r requirements.txt
'
msg_ok "Updated Python dependencies"
msg_info "Starting Crafty-Controller"
systemctl start crafty-controller
msg_ok "Started Crafty-Controller"
msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
+4 -12
View File
@@ -16,29 +16,22 @@ update_os
msg_info "Setting up TemurinJDK"
setup_java
$STD apt install -y temurin-{8,11,17,21,25}-jre
sudo update-alternatives --set java /usr/lib/jvm/temurin-25-jre-amd64/bin/java
$STD update-alternatives --set java /usr/lib/jvm/temurin-25-jre-amd64/bin/java
msg_ok "Installed TemurinJDK"
msg_info "Setup Python3"
$STD apt install -y \
python3 \
python3-dev \
python3-pip \
python3-venv
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
msg_info "Installing Crafty-Controller (Patience)"
useradd crafty -m -s /bin/bash
cd /opt
mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server
RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//')
echo "${RELEASE}" >"/opt/crafty-controller_version.txt"
curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o "crafty-4-v${RELEASE}.zip"
$STD unzip crafty-4-v"${RELEASE}".zip
cp -a crafty-4-v"${RELEASE}"/. /opt/crafty-controller/crafty/crafty-4/
rm -rf crafty-4-v"${RELEASE}"
fetch_and_deploy_gl_release "Crafty-Controller" "crafty-controller/crafty-4" "tarball" "latest" "/opt/crafty-controller/crafty/crafty-4"
msg_info "Installing Crafty-Controller dependencies (Patience)"
cd /opt/crafty-controller/crafty
python3 -m venv .venv
chown -R crafty:crafty /opt/crafty-controller/
@@ -47,7 +40,7 @@ $STD sudo -u crafty bash -c '
cd /opt/crafty-controller/crafty/crafty-4
pip3 install --no-cache-dir -r requirements.txt
'
msg_ok "Installed Craft-Controller and dependencies"
msg_ok "Installed Crafty-Controller dependencies"
msg_info "Setting up service"
cat <<EOF >/etc/systemd/system/crafty-controller.service
@@ -80,7 +73,6 @@ if [[ -f "$CREDS_FILE" ]]; then
} >>~/crafty-controller.creds
fi
msg_ok "Service started"
motd_ssh
customize
cleanup_lxc
+6 -1
View File
@@ -14,12 +14,17 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y build-essential python3-dev
$STD apt install -y \
build-essential \
pkg-config
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.11" setup_uv
NODE_VERSION="24" setup_nodejs
msg_info "Installing FlowiseAI (Patience)"
PYTHON_BIN="$(uv python find 3.11)"
export npm_config_python="$PYTHON_BIN"
$STD npm install -g flowise \
@opentelemetry/exporter-trace-otlp-grpc \
@opentelemetry/exporter-trace-otlp-proto \