mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-04-28 13:20:40 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 62498a99de | |||
| ef71bcbbf1 | |||
| 7e5e5be161 | |||
| 55c7549c3e | |||
| 4089fed9c9 | |||
| 325668d5c9 | |||
| 63296fc3e7 | |||
| e98fae3c54 | |||
| bf97029f57 | |||
| 5859c06715 | |||
| 9b4fc56de6 | |||
| 3a5244e285 | |||
| 1025715a74 | |||
| ec3b79bb61 | |||
| 37dfb58d29 | |||
| d95073f505 |
Generated
+6
-6
@@ -337,8 +337,8 @@ jobs:
|
|||||||
|
|
||||||
if (infoMatch) {
|
if (infoMatch) {
|
||||||
// ── INFO SUBCOMMAND ──────────────────────────────────────────────
|
// ── INFO SUBCOMMAND ──────────────────────────────────────────────
|
||||||
const notesArr = readJsonBlob(record.notes_json);
|
const notesArr = readJsonBlob(record.notes);
|
||||||
const methodsArr = readJsonBlob(record.install_methods_json);
|
const methodsArr = readJsonBlob(record.install_methods);
|
||||||
|
|
||||||
const out = [];
|
const out = [];
|
||||||
out.push('ℹ️ **PocketBase Bot**: Info for **`' + slug + '`**\n');
|
out.push('ℹ️ **PocketBase Bot**: Info for **`' + slug + '`**\n');
|
||||||
@@ -382,13 +382,13 @@ jobs:
|
|||||||
// ── NOTE SUBCOMMAND ──────────────────────────────────────────────
|
// ── NOTE SUBCOMMAND ──────────────────────────────────────────────
|
||||||
const noteAction = noteMatch[1].toLowerCase();
|
const noteAction = noteMatch[1].toLowerCase();
|
||||||
const noteArgsStr = rest.substring(noteMatch[0].length).trim();
|
const noteArgsStr = rest.substring(noteMatch[0].length).trim();
|
||||||
let notesArr = readJsonBlob(record.notes_json);
|
let notesArr = readJsonBlob(record.notes);
|
||||||
|
|
||||||
async function patchNotes(arr) {
|
async function patchNotes(arr) {
|
||||||
const res = await request(recordsUrl + '/' + record.id, {
|
const res = await request(recordsUrl + '/' + record.id, {
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ notes_json: JSON.stringify(arr) })
|
body: JSON.stringify({ notes: arr })
|
||||||
});
|
});
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
await addReaction('-1');
|
await addReaction('-1');
|
||||||
@@ -504,7 +504,7 @@ jobs:
|
|||||||
// ── METHOD SUBCOMMAND ────────────────────────────────────────────
|
// ── METHOD SUBCOMMAND ────────────────────────────────────────────
|
||||||
const methodArgs = rest.replace(/^method\s*/i, '').trim();
|
const methodArgs = rest.replace(/^method\s*/i, '').trim();
|
||||||
const methodListMode = !methodArgs || methodArgs.toLowerCase() === 'list';
|
const methodListMode = !methodArgs || methodArgs.toLowerCase() === 'list';
|
||||||
let methodsArr = readJsonBlob(record.install_methods_json);
|
let methodsArr = readJsonBlob(record.install_methods);
|
||||||
|
|
||||||
// Method field classification
|
// Method field classification
|
||||||
const RESOURCE_KEYS = { cpu: 'number', ram: 'number', hdd: 'number', os: 'string', version: 'string' };
|
const RESOURCE_KEYS = { cpu: 'number', ram: 'number', hdd: 'number', os: 'string', version: 'string' };
|
||||||
@@ -526,7 +526,7 @@ jobs:
|
|||||||
const res = await request(recordsUrl + '/' + record.id, {
|
const res = await request(recordsUrl + '/' + record.id, {
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
headers: { 'Authorization': token, 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ install_methods_json: arr })
|
body: JSON.stringify({ install_methods: arr })
|
||||||
});
|
});
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
await addReaction('-1');
|
await addReaction('-1');
|
||||||
|
|||||||
@@ -445,6 +445,24 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
## 2026-04-20
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Pangolin: pre-apply schema migrations to prevent data loss [@MickLesk](https://github.com/MickLesk) ([#13861](https://github.com/community-scripts/ProxmoxVE/pull/13861))
|
||||||
|
- ActualBudget: change migration messages to warnings [@MickLesk](https://github.com/MickLesk) ([#13860](https://github.com/community-scripts/ProxmoxVE/pull/13860))
|
||||||
|
- slskd: migrate config keys for 0.25.0 breaking change [@MickLesk](https://github.com/MickLesk) ([#13862](https://github.com/community-scripts/ProxmoxVE/pull/13862))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Wanderer: add pocketbase CLI wrapper with env [@MickLesk](https://github.com/MickLesk) ([#13863](https://github.com/community-scripts/ProxmoxVE/pull/13863))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: PMG Post Install [@MickLesk](https://github.com/MickLesk) ([#13693](https://github.com/community-scripts/ProxmoxVE/pull/13693))
|
||||||
|
|
||||||
## 2026-04-19
|
## 2026-04-19
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
+3
-3
@@ -48,9 +48,9 @@ function update_script() {
|
|||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
msg_info "Old Installation Found, you need to migrate your data and recreate to a new container"
|
msg_warn "Old Installation Found, you need to migrate your data and recreate to a new container"
|
||||||
msg_info "Please follow the instructions on the Actual Budget website to migrate your data"
|
msg_warn "Please follow the instructions on the Actual Budget website to migrate your data"
|
||||||
msg_info "https://actualbudget.org/docs/backup-restore/backup"
|
msg_warn "https://actualbudget.org/docs/backup-restore/backup"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt -y upgrade
|
$STD apt -y upgrade
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "kima-hub" "Chevron7Locked/kima-hub"; then
|
if check_for_gh_release "kima-hub" "Chevron7Locked/kima-hub"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop kima-frontend kima-backend kima-analyzer kima-analyzer-clap
|
systemctl stop kima-frontend kima-backend kima-analyzer kima-analyzer-clap
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "myip" "jason5ng32/MyIP"; then
|
if check_for_gh_release "myip" "jason5ng32/MyIP"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop myip
|
systemctl stop myip
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "outline" "outline/outline"; then
|
if check_for_gh_release "outline" "outline/outline"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
|
|||||||
+12
-1
@@ -69,7 +69,18 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Running database migrations"
|
msg_info "Running database migrations"
|
||||||
cd /opt/pangolin
|
cd /opt/pangolin
|
||||||
ENVIRONMENT=prod $STD npx drizzle-kit push --config drizzle.sqlite.config.ts
|
|
||||||
|
# Pre-apply potentially destructive schema changes safely so drizzle-kit
|
||||||
|
# does not recreate tables (which would delete all rows).
|
||||||
|
local DB="/opt/pangolin/config/db/db.sqlite"
|
||||||
|
if [[ -f "$DB" ]]; then
|
||||||
|
sqlite3 "$DB" "ALTER TABLE 'orgs' ADD COLUMN 'settingsLogRetentionDaysConnection' integer DEFAULT 0 NOT NULL;" 2>/dev/null || true
|
||||||
|
sqlite3 "$DB" "ALTER TABLE 'clientSitesAssociationsCache' ADD COLUMN 'isJitMode' integer DEFAULT 0 NOT NULL;" 2>/dev/null || true
|
||||||
|
# Migrate roleId from userOrgs → userOrgRoles before the column is dropped
|
||||||
|
sqlite3 "$DB" "INSERT OR IGNORE INTO 'userOrgRoles' (userId, orgId, roleId) SELECT userId, orgId, roleId FROM 'userOrgs' WHERE roleId IS NOT NULL;" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
ENVIRONMENT=prod $STD npx drizzle-kit push --force --config drizzle.sqlite.config.ts
|
||||||
msg_ok "Ran database migrations"
|
msg_ok "Ran database migrations"
|
||||||
|
|
||||||
msg_info "Updating Badger plugin version"
|
msg_info "Updating Badger plugin version"
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
PYTHON_VERSION="3.12" setup_uv
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
|
|
||||||
if check_for_gh_release "shelfmark" "calibrain/shelfmark"; then
|
if check_for_gh_release "shelfmark" "calibrain/shelfmark"; then
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
|||||||
exit 10
|
exit 10
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing ioBroker (Patience)"
|
msg_info "Installing ioBroker (Patience)"
|
||||||
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
||||||
PG_DB_NAME="kima" PG_DB_USER="kima" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
PG_DB_NAME="kima" PG_DB_USER="kima" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
||||||
NODE_VERSION="20" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Configuring Redis"
|
msg_info "Configuring Redis"
|
||||||
systemctl enable -q --now redis-server
|
systemctl enable -q --now redis-server
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball"
|
fetch_and_deploy_gh_release "myip" "jason5ng32/MyIP" "tarball"
|
||||||
|
|
||||||
msg_info "Configuring MyIP"
|
msg_info "Configuring MyIP"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt install -y \
|
|||||||
redis
|
redis
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
PG_VERSION="16" setup_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
PG_DB_NAME="outline" PG_DB_USER="outline" setup_postgresql_db
|
PG_DB_NAME="outline" PG_DB_USER="outline" setup_postgresql_db
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ else
|
|||||||
msg_ok "Installed internal bypasser dependencies"
|
msg_ok "Installed internal bypasser dependencies"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
PYTHON_VERSION="3.12" setup_uv
|
PYTHON_VERSION="3.12" setup_uv
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "shelfmark" "calibrain/shelfmark" "tarball" "latest" "/opt/shelfmark"
|
fetch_and_deploy_gh_release "shelfmark" "calibrain/shelfmark" "tarball" "latest" "/opt/shelfmark"
|
||||||
|
|||||||
@@ -60,6 +60,16 @@ wait -n
|
|||||||
EOF
|
EOF
|
||||||
chmod +x /opt/wanderer/start.sh
|
chmod +x /opt/wanderer/start.sh
|
||||||
|
|
||||||
|
cat <<'EOF' >/usr/local/bin/wanderer-pb
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -a
|
||||||
|
source /opt/wanderer/.env
|
||||||
|
set +a
|
||||||
|
cd /opt/wanderer/source/db
|
||||||
|
exec ./pocketbase "$@" --dir="$PB_DB_LOCATION"
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/local/bin/wanderer-pb
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/wanderer-web.service
|
cat <<EOF >/etc/systemd/system/wanderer-web.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=wanderer
|
Description=wanderer
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ msg_error() {
|
|||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) 2>/dev/null || true
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) 2>/dev/null || true
|
||||||
declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "post-pmg-install" "pve"
|
declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "post-pmg-install" "pve"
|
||||||
|
|
||||||
if ! grep -q "Proxmox Mail Gateway" /etc/issue 2>/dev/null; then
|
if ! dpkg -s proxmox-mailgateway-container >/dev/null 2>&1 &&
|
||||||
|
! dpkg -s proxmox-mailgateway >/dev/null 2>&1; then
|
||||||
msg_error "This script is only intended for Proxmox Mail Gateway"
|
msg_error "This script is only intended for Proxmox Mail Gateway"
|
||||||
exit 232
|
exit 232
|
||||||
fi
|
fi
|
||||||
@@ -57,21 +58,53 @@ repo_state() {
|
|||||||
local repo="$1"
|
local repo="$1"
|
||||||
local file=""
|
local file=""
|
||||||
local state="missing"
|
local state="missing"
|
||||||
for f in /etc/apt/sources.list /etc/apt/sources.list.d/*.list; do
|
for f in /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/*.sources; do
|
||||||
[[ -f "$f" ]] || continue
|
[[ -f "$f" ]] || continue
|
||||||
if grep -q "$repo" "$f"; then
|
if grep -q "$repo" "$f"; then
|
||||||
file="$f"
|
file="$f"
|
||||||
|
if [[ "$f" == *.sources ]]; then
|
||||||
|
# deb822 format: check Enabled field
|
||||||
|
if grep -qiE '^Enabled:\s*no' "$f"; then
|
||||||
|
state="disabled"
|
||||||
|
else
|
||||||
|
state="active"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# legacy format
|
||||||
if grep -qE "^[^#].*${repo}" "$f"; then
|
if grep -qE "^[^#].*${repo}" "$f"; then
|
||||||
state="active"
|
state="active"
|
||||||
elif grep -qE "^#.*${repo}" "$f"; then
|
elif grep -qE "^#.*${repo}" "$f"; then
|
||||||
state="disabled"
|
state="disabled"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "$state $file"
|
echo "$state $file"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
toggle_repo() {
|
||||||
|
# $1 = file, $2 = action (enable|disable)
|
||||||
|
local file="$1" action="$2"
|
||||||
|
if [[ "$file" == *.sources ]]; then
|
||||||
|
if [[ "$action" == "disable" ]]; then
|
||||||
|
if grep -qiE '^Enabled:' "$file"; then
|
||||||
|
sed -i 's/^Enabled:.*/Enabled: no/' "$file"
|
||||||
|
else
|
||||||
|
echo "Enabled: no" >>"$file"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
sed -i 's/^Enabled:.*/Enabled: yes/' "$file"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ "$action" == "disable" ]]; then
|
||||||
|
sed -i '/^[^#]/s/^/# /' "$file"
|
||||||
|
else
|
||||||
|
sed -i 's/^# *//' "$file"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
start_routines() {
|
start_routines() {
|
||||||
header_info
|
header_info
|
||||||
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
|
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
|
||||||
@@ -84,11 +117,20 @@ start_routines() {
|
|||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
yes)
|
yes)
|
||||||
msg_info "Correcting Debian Sources"
|
msg_info "Correcting Debian Sources"
|
||||||
cat <<EOF >/etc/apt/sources.list
|
cat <<EOF >/etc/apt/sources.list.d/debian.sources
|
||||||
deb http://deb.debian.org/debian ${VERSION} main contrib
|
Types: deb
|
||||||
deb http://deb.debian.org/debian ${VERSION}-updates main contrib
|
URIs: http://deb.debian.org/debian
|
||||||
deb http://security.debian.org/debian-security ${VERSION}-security main contrib
|
Suites: ${VERSION} ${VERSION}-updates
|
||||||
|
Components: main contrib non-free non-free-firmware
|
||||||
|
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
|
||||||
|
|
||||||
|
Types: deb
|
||||||
|
URIs: http://security.debian.org/debian-security
|
||||||
|
Suites: ${VERSION}-security
|
||||||
|
Components: main contrib non-free non-free-firmware
|
||||||
|
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
|
||||||
EOF
|
EOF
|
||||||
|
rm -f /etc/apt/sources.list
|
||||||
msg_ok "Corrected Debian Sources"
|
msg_ok "Corrected Debian Sources"
|
||||||
;;
|
;;
|
||||||
no) msg_error "Selected no to Correcting Debian Sources" ;;
|
no) msg_error "Selected no to Correcting Debian Sources" ;;
|
||||||
@@ -108,7 +150,7 @@ EOF
|
|||||||
keep) msg_ok "Kept 'pmg-enterprise' repository" ;;
|
keep) msg_ok "Kept 'pmg-enterprise' repository" ;;
|
||||||
disable)
|
disable)
|
||||||
msg_info "Disabling 'pmg-enterprise' repository"
|
msg_info "Disabling 'pmg-enterprise' repository"
|
||||||
sed -i "s/^[^#].*pmg-enterprise/# &/" "$file"
|
toggle_repo "$file" disable
|
||||||
msg_ok "Disabled 'pmg-enterprise' repository"
|
msg_ok "Disabled 'pmg-enterprise' repository"
|
||||||
;;
|
;;
|
||||||
delete)
|
delete)
|
||||||
@@ -128,7 +170,7 @@ EOF
|
|||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
enable)
|
enable)
|
||||||
msg_info "Enabling 'pmg-enterprise' repository"
|
msg_info "Enabling 'pmg-enterprise' repository"
|
||||||
sed -i "s/^#.*pmg-enterprise/deb/" "$file"
|
toggle_repo "$file" enable
|
||||||
msg_ok "Enabled 'pmg-enterprise' repository"
|
msg_ok "Enabled 'pmg-enterprise' repository"
|
||||||
;;
|
;;
|
||||||
keep) msg_ok "Kept 'pmg-enterprise' repository disabled" ;;
|
keep) msg_ok "Kept 'pmg-enterprise' repository disabled" ;;
|
||||||
@@ -149,8 +191,12 @@ EOF
|
|||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
yes)
|
yes)
|
||||||
msg_info "Adding 'pmg-enterprise' repository"
|
msg_info "Adding 'pmg-enterprise' repository"
|
||||||
cat >/etc/apt/sources.list.d/pmg-enterprise.list <<EOF
|
cat >/etc/apt/sources.list.d/pmg-enterprise.sources <<EOF
|
||||||
deb https://enterprise.proxmox.com/debian/pmg ${VERSION} pmg-enterprise
|
Types: deb
|
||||||
|
URIs: https://enterprise.proxmox.com/debian/pmg
|
||||||
|
Suites: ${VERSION}
|
||||||
|
Components: pmg-enterprise
|
||||||
|
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||||
EOF
|
EOF
|
||||||
msg_ok "Added 'pmg-enterprise' repository"
|
msg_ok "Added 'pmg-enterprise' repository"
|
||||||
;;
|
;;
|
||||||
@@ -173,7 +219,7 @@ EOF
|
|||||||
keep) msg_ok "Kept 'pmg-no-subscription' repository" ;;
|
keep) msg_ok "Kept 'pmg-no-subscription' repository" ;;
|
||||||
disable)
|
disable)
|
||||||
msg_info "Disabling 'pmg-no-subscription' repository"
|
msg_info "Disabling 'pmg-no-subscription' repository"
|
||||||
sed -i "s/^[^#].*pmg-no-subscription/# &/" "$file"
|
toggle_repo "$file" disable
|
||||||
msg_ok "Disabled 'pmg-no-subscription' repository"
|
msg_ok "Disabled 'pmg-no-subscription' repository"
|
||||||
;;
|
;;
|
||||||
delete)
|
delete)
|
||||||
@@ -193,7 +239,7 @@ EOF
|
|||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
enable)
|
enable)
|
||||||
msg_info "Enabling 'pmg-no-subscription' repository"
|
msg_info "Enabling 'pmg-no-subscription' repository"
|
||||||
sed -i "s/^#.*pmg-no-subscription/deb/" "$file"
|
toggle_repo "$file" enable
|
||||||
msg_ok "Enabled 'pmg-no-subscription' repository"
|
msg_ok "Enabled 'pmg-no-subscription' repository"
|
||||||
;;
|
;;
|
||||||
keep) msg_ok "Kept 'pmg-no-subscription' repository disabled" ;;
|
keep) msg_ok "Kept 'pmg-no-subscription' repository disabled" ;;
|
||||||
@@ -213,8 +259,12 @@ EOF
|
|||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
yes)
|
yes)
|
||||||
msg_info "Adding 'pmg-no-subscription' repository"
|
msg_info "Adding 'pmg-no-subscription' repository"
|
||||||
cat >/etc/apt/sources.list.d/pmg-install-repo.list <<EOF
|
cat >/etc/apt/sources.list.d/pmg-no-subscription.sources <<EOF
|
||||||
deb http://download.proxmox.com/debian/pmg ${VERSION} pmg-no-subscription
|
Types: deb
|
||||||
|
URIs: http://download.proxmox.com/debian/pmg
|
||||||
|
Suites: ${VERSION}
|
||||||
|
Components: pmg-no-subscription
|
||||||
|
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||||
EOF
|
EOF
|
||||||
msg_ok "Added 'pmg-no-subscription' repository"
|
msg_ok "Added 'pmg-no-subscription' repository"
|
||||||
;;
|
;;
|
||||||
@@ -236,8 +286,13 @@ EOF
|
|||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
yes)
|
yes)
|
||||||
msg_info "Adding 'pmgtest' repository (disabled)"
|
msg_info "Adding 'pmgtest' repository (disabled)"
|
||||||
cat >/etc/apt/sources.list.d/pmgtest-for-beta.list <<EOF
|
cat >/etc/apt/sources.list.d/pmgtest.sources <<EOF
|
||||||
# deb http://download.proxmox.com/debian/pmg ${VERSION} pmgtest
|
Types: deb
|
||||||
|
URIs: http://download.proxmox.com/debian/pmg
|
||||||
|
Suites: ${VERSION}
|
||||||
|
Components: pmgtest
|
||||||
|
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||||
|
Enabled: no
|
||||||
EOF
|
EOF
|
||||||
msg_ok "Added 'pmgtest' repository"
|
msg_ok "Added 'pmgtest' repository"
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user