mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-15 11:43:31 +01:00
Compare commits
24 Commits
2025-12-06
...
2025-12-07
| Author | SHA1 | Date | |
|---|---|---|---|
| 59699425f8 | |||
| 155a8571ba | |||
| 1cae72bdec | |||
| 531ecad4c7 | |||
| 9e8ab9de01 | |||
| 70557798ec | |||
| 4b554900ca | |||
| 9f84eae07f | |||
| ba5bdd94ad | |||
| d18baa2177 | |||
| 779c06f232 | |||
| 9e2b6524c4 | |||
| a328d7b8ba | |||
| dfa4d82951 | |||
| 5e5a8cd104 | |||
| 0da3231d3c | |||
| 5a6a30e594 | |||
| 97ac2520ec | |||
| bd5fe17228 | |||
| f42586c083 | |||
| fab5539c82 | |||
| 1ecb5bbeab | |||
| 64dbd4e9f7 | |||
| 2ba63b28f0 |
28
CHANGELOG.md
28
CHANGELOG.md
@ -10,8 +10,36 @@
|
|||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||||
|
|
||||||
|
## 2025-12-08
|
||||||
|
|
||||||
## 2025-12-07
|
## 2025-12-07
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- wanderer: add meilisearch dumpless upgrade for database migration [@MickLesk](https://github.com/MickLesk) ([#9749](https://github.com/community-scripts/ProxmoxVE/pull/9749))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Refactor: Inventree (uses now ubuntu 24.04) [@MickLesk](https://github.com/MickLesk) ([#9752](https://github.com/community-scripts/ProxmoxVE/pull/9752))
|
||||||
|
- Revert Zammad: use Debian 12 and dynamic APT source version [@MickLesk](https://github.com/MickLesk) ([#9750](https://github.com/community-scripts/ProxmoxVE/pull/9750))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tools.func: handle empty grep results in stop_all_services [@MickLesk](https://github.com/MickLesk) ([#9748](https://github.com/community-scripts/ProxmoxVE/pull/9748))
|
||||||
|
- Remove Debian from GPU passthrough [@MickLesk](https://github.com/MickLesk) ([#9754](https://github.com/community-scripts/ProxmoxVE/pull/9754))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- core: motd - dynamically read OS version on each login [@MickLesk](https://github.com/MickLesk) ([#9751](https://github.com/community-scripts/ProxmoxVE/pull/9751))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- FAQ update [@tremor021](https://github.com/tremor021) ([#9742](https://github.com/community-scripts/ProxmoxVE/pull/9742))
|
||||||
|
|
||||||
## 2025-12-06
|
## 2025-12-06
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@ -24,11 +24,11 @@ function update_script() {
|
|||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if [[ ! -f /opt/${APP} ]]; then
|
if [[ ! -d /opt/ComfyUI ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_error "To update use the ${APP} Manager."
|
msg_error "To update use the ComfyUI Manager."
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -87,6 +87,11 @@ function update_script() {
|
|||||||
mv /tmp/start-daphne.sh.backup /opt/dispatcharr/start-daphne.sh
|
mv /tmp/start-daphne.sh.backup /opt/dispatcharr/start-daphne.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! grep -q "DJANGO_SECRET_KEY" /opt/dispatcharr/.env; then
|
||||||
|
DJANGO_SECRET=$(openssl rand -base64 48 | tr -dc 'a-zA-Z0-9' | cut -c1-50)
|
||||||
|
echo "DJANGO_SECRET_KEY=$DJANGO_SECRET" >> /opt/dispatcharr/.env
|
||||||
|
fi
|
||||||
|
|
||||||
cd /opt/dispatcharr
|
cd /opt/dispatcharr
|
||||||
rm -rf .venv
|
rm -rf .venv
|
||||||
$STD uv venv
|
$STD uv venv
|
||||||
|
|||||||
@ -10,8 +10,8 @@ var_tags="${var_tags:-inventory}"
|
|||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-6}"
|
var_disk="${var_disk:-6}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-ubuntu}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-24.04}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@ -28,10 +28,16 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating $APP"
|
|
||||||
|
if ! grep -qE "^ID=(ubuntu)$" /etc/os-release; then
|
||||||
|
msg_error "Unsupported OS. InvenTree requires Ubuntu (20.04/22.04/24.04)."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating InvenTree"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install --only-upgrade inventree -y
|
$STD apt install --only-upgrade inventree -y
|
||||||
msg_ok "Updated $APP"
|
msg_ok "Updated InvenTree"
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,8 @@ function update_script() {
|
|||||||
systemctl stop wanderer-web
|
systemctl stop wanderer-web
|
||||||
msg_ok "Stopped service"
|
msg_ok "Stopped service"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" "latest" "/opt/wanderer/source/search"
|
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" "latest" "/opt/wanderer/source/search"
|
||||||
|
grep -q -- '--experimental-dumpless-upgrade' /opt/wanderer/start.sh || sed -i 's|meilisearch --master-key|meilisearch --experimental-dumpless-upgrade --master-key|' /opt/wanderer/start.sh
|
||||||
|
|
||||||
msg_info "Starting service"
|
msg_info "Starting service"
|
||||||
systemctl start wanderer-web
|
systemctl start wanderer-web
|
||||||
|
|||||||
@ -11,7 +11,7 @@ var_disk="${var_disk:-8}"
|
|||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
|
|||||||
@ -22,8 +22,8 @@
|
|||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 6,
|
"hdd": 6,
|
||||||
"os": "debian",
|
"os": "ubuntu",
|
||||||
"version": "13"
|
"version": "24.04"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -1,14 +1,69 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "Part-DB/Part-DB-server",
|
||||||
|
"version": "v2.3.0",
|
||||||
|
"date": "2025-12-07T21:58:43Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "traccar/traccar",
|
||||||
|
"version": "v6.11.1",
|
||||||
|
"date": "2025-12-07T19:19:08Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "firefly-iii/firefly-iii",
|
||||||
|
"version": "v6.4.9",
|
||||||
|
"date": "2025-11-28T20:36:20Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "seerr-team/seerr",
|
"name": "seerr-team/seerr",
|
||||||
"version": "preview-test-fix-subscriptions",
|
"version": "preview-test-fix-subscriptions",
|
||||||
"date": "2025-12-06T22:36:36Z"
|
"date": "2025-12-07T14:31:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bluenviron/mediamtx",
|
||||||
|
"version": "v1.15.5",
|
||||||
|
"date": "2025-12-07T12:24:21Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "morpheus65535/bazarr",
|
||||||
|
"version": "v1.5.3",
|
||||||
|
"date": "2025-09-20T12:12:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.24.415",
|
||||||
|
"date": "2025-12-07T05:56:32Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BerriAI/litellm",
|
||||||
|
"version": "v1.80.8.rc.1",
|
||||||
|
"date": "2025-12-07T01:36:40Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "umami-software/umami",
|
||||||
|
"version": "v2.20.1",
|
||||||
|
"date": "2025-12-07T01:14:23Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "steveiliop56/tinyauth",
|
||||||
|
"version": "v4.1.0",
|
||||||
|
"date": "2025-11-23T12:13:34Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jeedom/core",
|
||||||
|
"version": "4.5",
|
||||||
|
"date": "2025-12-07T00:27:06Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sysadminsmedia/homebox",
|
"name": "sysadminsmedia/homebox",
|
||||||
"version": "v0.22.0-rc.2",
|
"version": "v0.22.0-rc.2",
|
||||||
"date": "2025-12-06T21:24:28Z"
|
"date": "2025-12-06T21:24:28Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.4.7",
|
||||||
|
"date": "2025-12-01T08:14:11Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Koenkk/zigbee2mqtt",
|
"name": "Koenkk/zigbee2mqtt",
|
||||||
"version": "2.7.1",
|
"version": "2.7.1",
|
||||||
@ -24,11 +79,6 @@
|
|||||||
"version": "v0.59.0",
|
"version": "v0.59.0",
|
||||||
"date": "2025-12-06T18:08:42Z"
|
"date": "2025-12-06T18:08:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "BerriAI/litellm",
|
|
||||||
"version": "v1.80.5-stable.1",
|
|
||||||
"date": "2025-12-06T17:52:19Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Brandawg93/PeaNUT",
|
"name": "Brandawg93/PeaNUT",
|
||||||
"version": "v5.19.2",
|
"version": "v5.19.2",
|
||||||
@ -64,51 +114,21 @@
|
|||||||
"version": "v0.87",
|
"version": "v0.87",
|
||||||
"date": "2025-12-06T07:36:26Z"
|
"date": "2025-12-06T07:36:26Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "firefly-iii/firefly-iii",
|
|
||||||
"version": "v6.4.9",
|
|
||||||
"date": "2025-11-28T20:36:20Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "tobychui/zoraxy",
|
"name": "tobychui/zoraxy",
|
||||||
"version": "v3.3.0",
|
"version": "v3.3.0",
|
||||||
"date": "2025-12-06T06:18:23Z"
|
"date": "2025-12-06T06:18:23Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "morpheus65535/bazarr",
|
|
||||||
"version": "v1.5.3",
|
|
||||||
"date": "2025-09-20T12:12:33Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.24.408",
|
|
||||||
"date": "2025-12-06T06:00:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "theonedev/onedev",
|
"name": "theonedev/onedev",
|
||||||
"version": "v13.1.3",
|
"version": "v13.1.3",
|
||||||
"date": "2025-12-06T04:40:09Z"
|
"date": "2025-12-06T04:40:09Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "jeedom/core",
|
|
||||||
"version": "4.5",
|
|
||||||
"date": "2025-12-06T00:27:05Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "steveiliop56/tinyauth",
|
|
||||||
"version": "v4.1.0",
|
|
||||||
"date": "2025-11-23T12:13:34Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ollama/ollama",
|
"name": "ollama/ollama",
|
||||||
"version": "v0.13.2-rc1",
|
"version": "v0.13.2-rc1",
|
||||||
"date": "2025-12-04T23:19:06Z"
|
"date": "2025-12-04T23:19:06Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "umami-software/umami",
|
|
||||||
"version": "v2.20.0",
|
|
||||||
"date": "2025-12-05T23:51:38Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Stirling-Tools/Stirling-PDF",
|
"name": "Stirling-Tools/Stirling-PDF",
|
||||||
"version": "v2.1.1",
|
"version": "v2.1.1",
|
||||||
@ -134,11 +154,6 @@
|
|||||||
"version": "v1.45.2",
|
"version": "v1.45.2",
|
||||||
"date": "2025-12-05T19:17:09Z"
|
"date": "2025-12-05T19:17:09Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.4.7",
|
|
||||||
"date": "2025-12-01T08:14:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "booklore-app/booklore",
|
"name": "booklore-app/booklore",
|
||||||
"version": "v1.13.2",
|
"version": "v1.13.2",
|
||||||
@ -719,11 +734,6 @@
|
|||||||
"version": "mariadb-12.1.2",
|
"version": "mariadb-12.1.2",
|
||||||
"date": "2025-11-18T15:16:21Z"
|
"date": "2025-11-18T15:16:21Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "bluenviron/mediamtx",
|
|
||||||
"version": "v1.15.4",
|
|
||||||
"date": "2025-11-21T01:21:03Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "TasmoAdmin/TasmoAdmin",
|
"name": "TasmoAdmin/TasmoAdmin",
|
||||||
"version": "v4.3.2",
|
"version": "v4.3.2",
|
||||||
@ -1059,11 +1069,6 @@
|
|||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"date": "2025-10-22T17:03:54Z"
|
"date": "2025-10-22T17:03:54Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Part-DB/Part-DB-server",
|
|
||||||
"version": "v2.2.1",
|
|
||||||
"date": "2025-10-19T14:30:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "benzino77/tasmocompiler",
|
"name": "benzino77/tasmocompiler",
|
||||||
"version": "v13.0.0",
|
"version": "v13.0.0",
|
||||||
@ -1154,11 +1159,6 @@
|
|||||||
"version": "v2.7.3",
|
"version": "v2.7.3",
|
||||||
"date": "2025-09-21T12:07:19Z"
|
"date": "2025-09-21T12:07:19Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "traccar/traccar",
|
|
||||||
"version": "v6.10.0",
|
|
||||||
"date": "2025-09-20T15:40:36Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "mmastrac/stylus",
|
"name": "mmastrac/stylus",
|
||||||
"version": "v0.17.0",
|
"version": "v0.17.0",
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
"ram": 4096,
|
"ram": 4096,
|
||||||
"hdd": 8,
|
"hdd": 8,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -34,9 +34,4 @@ export const FAQ_Items = [
|
|||||||
content:
|
content:
|
||||||
"If an LXC script fails, run it again using Verbose mode. Standard mode hides detailed output for neatness, showing only progress. Verbose mode displays all messages, which helps you (and us) diagnose the error. Include this verbose output if you report the issue.",
|
"If an LXC script fails, run it again using Verbose mode. Standard mode hides detailed output for neatness, showing only progress. Verbose mode displays all messages, which helps you (and us) diagnose the error. Include this verbose output if you report the issue.",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "What does \"Updatable\" and \"Not updatable\" mean?",
|
|
||||||
content:
|
|
||||||
"Updatable means that script has a function that is used to update the installed application to the latest version available. Not updatable means that script doesn't have a function that can safely update the application to the latest version available, so only the LXC OS is updated.",
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|||||||
@ -62,11 +62,13 @@ install -d -m 755 \
|
|||||||
/data/uploads/{m3us,epgs} \
|
/data/uploads/{m3us,epgs} \
|
||||||
/data/{m3us,epgs}
|
/data/{m3us,epgs}
|
||||||
chown -R root:root /data
|
chown -R root:root /data
|
||||||
|
DJANGO_SECRET=$(openssl rand -base64 48 | tr -dc 'a-zA-Z0-9' | cut -c1-50)
|
||||||
export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
|
export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
|
||||||
export POSTGRES_DB=$DB_NAME
|
export POSTGRES_DB=$DB_NAME
|
||||||
export POSTGRES_USER=$DB_USER
|
export POSTGRES_USER=$DB_USER
|
||||||
export POSTGRES_PASSWORD=$DB_PASS
|
export POSTGRES_PASSWORD=$DB_PASS
|
||||||
export POSTGRES_HOST=localhost
|
export POSTGRES_HOST=localhost
|
||||||
|
export DJANGO_SECRET_KEY=$DJANGO_SECRET
|
||||||
$STD uv run python manage.py migrate --noinput
|
$STD uv run python manage.py migrate --noinput
|
||||||
$STD uv run python manage.py collectstatic --noinput
|
$STD uv run python manage.py collectstatic --noinput
|
||||||
cat <<EOF >/opt/dispatcharr/.env
|
cat <<EOF >/opt/dispatcharr/.env
|
||||||
@ -76,6 +78,7 @@ POSTGRES_USER=$DB_USER
|
|||||||
POSTGRES_PASSWORD=$DB_PASS
|
POSTGRES_PASSWORD=$DB_PASS
|
||||||
POSTGRES_HOST=localhost
|
POSTGRES_HOST=localhost
|
||||||
CELERY_BROKER_URL=redis://localhost:6379/0
|
CELERY_BROKER_URL=redis://localhost:6379/0
|
||||||
|
DJANGO_SECRET_KEY=$DJANGO_SECRET
|
||||||
EOF
|
EOF
|
||||||
cd /opt/dispatcharr/frontend
|
cd /opt/dispatcharr/frontend
|
||||||
$STD npm install --legacy-peer-deps
|
$STD npm install --legacy-peer-deps
|
||||||
|
|||||||
@ -13,23 +13,27 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o "$temp_file"
|
|
||||||
$STD dpkg -i $temp_file
|
|
||||||
rm -f $temp_file
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up InvenTree Repository"
|
msg_info "Setting up InvenTree Repository"
|
||||||
mkdir -p /etc/apt/keyrings
|
setup_deb822_repo \
|
||||||
curl -fsSL https://dl.packager.io/srv/inventree/InvenTree/key | gpg --dearmor -o /etc/apt/keyrings/inventree.gpg
|
"inventree" \
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/inventree.gpg] https://dl.packager.io/srv/deb/inventree/InvenTree/stable/ubuntu 20.04 main" >/etc/apt/sources.list.d/inventree.list
|
"https://dl.packager.io/srv/inventree/InvenTree/key" \
|
||||||
|
"https://dl.packager.io/srv/deb/inventree/InvenTree/stable/$(get_os_info id)" \
|
||||||
|
"$(get_os_info version)" \
|
||||||
|
"main"
|
||||||
msg_ok "Set up InvenTree Repository"
|
msg_ok "Set up InvenTree Repository"
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION} (Patience)"
|
msg_info "Installing InvenTree (Patience)"
|
||||||
$STD apt-get update
|
export SETUP_NO_CALLS=true
|
||||||
$STD apt-get install -y inventree
|
$STD apt install -y inventree
|
||||||
msg_ok "Setup ${APPLICATION}"
|
msg_ok "Installed InvenTree"
|
||||||
|
|
||||||
|
msg_info "Configuring InvenTree"
|
||||||
|
LOCAL_IP="$(hostname -I | awk '{print $1}')"
|
||||||
|
if [[ -f /etc/inventree/config.yaml ]]; then
|
||||||
|
sed -i "s|site_url:.*|site_url: http://${LOCAL_IP}|" /etc/inventree/config.yaml
|
||||||
|
fi
|
||||||
|
$STD inventree run invoke update
|
||||||
|
msg_ok "Configured InvenTree"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
|||||||
@ -52,7 +52,7 @@ cat <<EOF >/opt/wanderer/start.sh
|
|||||||
|
|
||||||
trap "kill 0" EXIT
|
trap "kill 0" EXIT
|
||||||
|
|
||||||
cd /opt/wanderer/source/search && meilisearch --master-key \$MEILI_MASTER_KEY &
|
cd /opt/wanderer/source/search && meilisearch --experimental-dumpless-upgrade --master-key \$MEILI_MASTER_KEY &
|
||||||
sleep 1
|
sleep 1
|
||||||
cd /opt/wanderer/source/db && ./pocketbase serve --http=\$PB_URL --dir=\$PB_DB_LOCATION &
|
cd /opt/wanderer/source/db && ./pocketbase serve --http=\$PB_URL --dir=\$PB_DB_LOCATION &
|
||||||
cd /opt/wanderer/source/web && node build &
|
cd /opt/wanderer/source/web && node build &
|
||||||
|
|||||||
@ -21,15 +21,12 @@ $STD apt install -y \
|
|||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Elasticsearch"
|
msg_info "Setting up Elasticsearch"
|
||||||
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
|
setup_deb822_repo \
|
||||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/elasticsearch.sources >/dev/null
|
"elasticsearch" \
|
||||||
Types: deb
|
"https://artifacts.elastic.co/GPG-KEY-elasticsearch" \
|
||||||
URIs: https://artifacts.elastic.co/packages/7.x/apt
|
"https://artifacts.elastic.co/packages/7.x/apt" \
|
||||||
Suites: stable
|
"stable" \
|
||||||
Components: main
|
"main"
|
||||||
Signed-By: /usr/share/keyrings/elasticsearch-keyring.gpg
|
|
||||||
EOF
|
|
||||||
$STD apt update
|
|
||||||
$STD apt -y install elasticsearch
|
$STD apt -y install elasticsearch
|
||||||
echo "-Xms2g" >>/etc/elasticsearch/jvm.options
|
echo "-Xms2g" >>/etc/elasticsearch/jvm.options
|
||||||
echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
|
echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
|
||||||
@ -39,15 +36,12 @@ systemctl restart -q elasticsearch
|
|||||||
msg_ok "Setup Elasticsearch"
|
msg_ok "Setup Elasticsearch"
|
||||||
|
|
||||||
msg_info "Installing Zammad"
|
msg_info "Installing Zammad"
|
||||||
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | sudo tee /etc/apt/keyrings/pkgr-zammad.gpg >/dev/null
|
setup_deb822_repo \
|
||||||
cat <<EOF | sudo tee /etc/apt/sources.list.d/zammad.sources >/dev/null
|
"zammad" \
|
||||||
Types: deb
|
"https://dl.packager.io/srv/zammad/zammad/key" \
|
||||||
URIs: https://dl.packager.io/srv/deb/zammad/zammad/stable/debian
|
"https://dl.packager.io/srv/deb/zammad/zammad/stable/debian" \
|
||||||
Suites: 12
|
"$(get_os_info version_id)" \
|
||||||
Components: main
|
"main"
|
||||||
Signed-By: /etc/apt/keyrings/pkgr-zammad.gpg
|
|
||||||
EOF
|
|
||||||
$STD apt update
|
|
||||||
$STD apt -y install zammad
|
$STD apt -y install zammad
|
||||||
$STD zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
|
$STD zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
|
||||||
$STD zammad run rake zammad:searchindex:rebuild
|
$STD zammad run rake zammad:searchindex:rebuild
|
||||||
|
|||||||
@ -125,22 +125,13 @@ update_os() {
|
|||||||
# 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() {
|
||||||
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
IP=$(ip -4 addr show eth0 | awk '/inet / {print $2}' | cut -d/ -f1 | head -n 1)
|
|
||||||
|
|
||||||
if [ -f "/etc/os-release" ]; then
|
|
||||||
OS_NAME=$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '"')
|
|
||||||
OS_VERSION=$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '"')
|
|
||||||
else
|
|
||||||
OS_NAME="Alpine Linux"
|
|
||||||
OS_VERSION="Unknown"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
||||||
echo "echo -e \"\"" >"$PROFILE_FILE"
|
echo "echo -e \"\"" >"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo "echo \"\"" >>"$PROFILE_FILE"
|
echo "echo \"\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${OS}${YW} OS: ${GN}${OS_NAME} - Version: ${OS_VERSION}${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${OS}${YW} OS: ${GN}\$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '\"') - Version: \$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '\"')${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(ip -4 addr show eth0 | awk '/inet / {print \$2}' | cut -d/ -f1 | head -n 1)${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(ip -4 addr show eth0 | awk '/inet / {print \$2}' | cut -d/ -f1 | head -n 1)${CL}\"" >>"$PROFILE_FILE"
|
||||||
|
|
||||||
|
|||||||
@ -2391,7 +2391,7 @@ build_container() {
|
|||||||
GPU_APPS=(
|
GPU_APPS=(
|
||||||
"immich" "channels" "emby" "ersatztv" "frigate"
|
"immich" "channels" "emby" "ersatztv" "frigate"
|
||||||
"jellyfin" "plex" "scrypted" "tdarr" "unmanic"
|
"jellyfin" "plex" "scrypted" "tdarr" "unmanic"
|
||||||
"ollama" "fileflows" "open-webui" "tunarr" "debian"
|
"ollama" "fileflows" "open-webui" "tunarr"
|
||||||
"handbrake" "sunshine" "moonlight" "kodi" "stremio"
|
"handbrake" "sunshine" "moonlight" "kodi" "stremio"
|
||||||
"viseron"
|
"viseron"
|
||||||
)
|
)
|
||||||
|
|||||||
@ -222,21 +222,12 @@ motd_ssh() {
|
|||||||
# Set terminal to 256-color mode
|
# Set terminal to 256-color mode
|
||||||
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >>/root/.bashrc
|
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
|
|
||||||
# Get OS information (Debian / Ubuntu)
|
|
||||||
if [ -f "/etc/os-release" ]; then
|
|
||||||
OS_NAME=$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '"')
|
|
||||||
OS_VERSION=$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '"')
|
|
||||||
elif [ -f "/etc/debian_version" ]; then
|
|
||||||
OS_NAME="Debian"
|
|
||||||
OS_VERSION=$(cat /etc/debian_version)
|
|
||||||
fi
|
|
||||||
|
|
||||||
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
||||||
echo "echo -e \"\"" >"$PROFILE_FILE"
|
echo "echo -e \"\"" >"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo "echo \"\"" >>"$PROFILE_FILE"
|
echo "echo \"\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${OS}${YW} OS: ${GN}${OS_NAME} - Version: ${OS_VERSION}${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${OS}${YW} OS: ${GN}\$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '\"') - Version: \$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '\"')${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(hostname -I | awk '{print \$1}')${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(hostname -I | awk '{print \$1}')${CL}\"" >>"$PROFILE_FILE"
|
||||||
|
|
||||||
|
|||||||
@ -72,17 +72,17 @@ stop_all_services() {
|
|||||||
local service_patterns=("$@")
|
local service_patterns=("$@")
|
||||||
|
|
||||||
for pattern in "${service_patterns[@]}"; do
|
for pattern in "${service_patterns[@]}"; do
|
||||||
# Find all matching services
|
# Find all matching services (grep || true to handle no matches)
|
||||||
|
local services
|
||||||
|
services=$(systemctl list-units --type=service --all 2>/dev/null |
|
||||||
|
grep -oE "${pattern}[^ ]*\.service" 2>/dev/null | sort -u) || true
|
||||||
|
|
||||||
systemctl list-units --type=service --all 2>/dev/null |
|
if [[ -n "$services" ]]; then
|
||||||
grep -oE "${pattern}[^ ]*\.service" |
|
|
||||||
sort -u |
|
|
||||||
while read -r service; do
|
while read -r service; do
|
||||||
|
|
||||||
$STD systemctl stop "$service" 2>/dev/null || true
|
$STD systemctl stop "$service" 2>/dev/null || true
|
||||||
$STD systemctl disable "$service" 2>/dev/null || true
|
$STD systemctl disable "$service" 2>/dev/null || true
|
||||||
done
|
done <<<"$services"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@ RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)"
|
|||||||
METHOD=""
|
METHOD=""
|
||||||
NSAPP="opnsense-vm"
|
NSAPP="opnsense-vm"
|
||||||
var_os="opnsense"
|
var_os="opnsense"
|
||||||
var_version="25.1"
|
var_version="25.7"
|
||||||
#
|
#
|
||||||
GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
|
GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
|
||||||
GEN_MAC_LAN=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
|
GEN_MAC_LAN=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
|
||||||
@ -670,7 +670,7 @@ if [ -n "$WAN_BRG" ]; then
|
|||||||
msg_ok "WAN interface added"
|
msg_ok "WAN interface added"
|
||||||
sleep 5 # Brief pause after adding network interface
|
sleep 5 # Brief pause after adding network interface
|
||||||
fi
|
fi
|
||||||
send_line_to_vm "sh ./opnsense-bootstrap.sh.in -y -f -r 25.1"
|
send_line_to_vm "sh ./opnsense-bootstrap.sh.in -y -f -r 25.7"
|
||||||
msg_ok "OPNsense VM is being installed, do not close the terminal, or the installation will fail."
|
msg_ok "OPNsense VM is being installed, do not close the terminal, or the installation will fail."
|
||||||
#We need to wait for the OPNsense build proccess to finish, this takes a few minutes
|
#We need to wait for the OPNsense build proccess to finish, this takes a few minutes
|
||||||
sleep 1000
|
sleep 1000
|
||||||
|
|||||||
Reference in New Issue
Block a user