Compare commits

..

36 Commits

Author SHA1 Message Date
fbaed2ddab Update wireguard.json 2025-06-27 12:21:14 +02:00
578d8067dc Update CHANGELOG.md (#5512)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-27 10:18:18 +01:00
03d2a76ff1 New workflow to push to gitea and change links (#5510) 2025-06-27 11:17:52 +02:00
650a5f5df5 fix single r to double r 2025-06-27 10:58:20 +02:00
5130cc6bc9 fix single r to double r 2025-06-27 10:57:58 +02:00
7ebe0139c2 fix path for package.json 2025-06-27 10:14:41 +02:00
08da826302 Update CHANGELOG.md (#5504)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-27 01:16:16 +01:00
d94c7b846c Update versions.json (#5503)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-27 02:15:30 +02:00
97a1c64fad remove exit if npm update failed 2025-06-26 23:42:22 +02:00
4b8e1e9015 fix issue path 2025-06-26 23:40:07 +02:00
c2b5747718 readd npm latest update 2025-06-26 20:49:17 +02:00
d31fd08d69 fix nodejs 2025-06-26 19:04:14 +02:00
e6230de022 Update CHANGELOG.md (#5493)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 17:28:26 +01:00
db7aaa3158 Update CHANGELOG.md (#5492)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 17:26:40 +01:00
af1f22a4d6 Update date in json (#5491)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-06-26 17:26:23 +01:00
4cc3a87b0e ConvertX (#5484)
* 'Add new script'

* curl

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-06-26 18:25:42 +02:00
db2671ed95 Update CHANGELOG.md (#5490)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 17:25:16 +01:00
0a72c81ea5 Update tools.func (#5488) 2025-06-26 18:24:43 +02:00
dfd612480c Update CHANGELOG.md (#5487)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 15:27:44 +01:00
64397b16c5 [tools] Fix setup_mongodb function (#5486)
* Fix repo component name

* Update
2025-06-26 16:27:15 +02:00
bd49471ebc Update versions.json (#5483)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 14:07:47 +02:00
7289c68399 Update CHANGELOG.md (#5478)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 01:16:06 +01:00
4a5ddc8410 Update versions.json (#5477)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-26 02:15:17 +02:00
93808fbd75 Update CHANGELOG.md (#5471)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 19:42:32 +01:00
24394a0947 Update CHANGELOG.md (#5470)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 19:40:52 +01:00
4676eb616c Website: mark VM's and "OS"-LXC's as updatable (#5453) 2025-06-25 20:40:33 +02:00
e9ae558c25 Update CHANGELOG.md (#5469)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 19:39:54 +01:00
afee37794b Update CHANGELOG.md (#5468)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 19:39:39 +01:00
72e7bda418 Enhance InstallCommand component to support Gitea as an alternative source for installation scripts. Added informational alert for Gitea usage and refactored command generation logic to accommodate the new option. (#5464) 2025-06-25 20:39:26 +02:00
69e14c8fca Update Tooltips component to conditionally display updateable status based on item type (#5461) 2025-06-25 20:39:02 +02:00
6394c0cf17 Update CHANGELOG.md (#5467)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 19:35:45 +01:00
d1deffb235 Refactor CommandMenu to prevent duplicate scripts across categories (#5463) 2025-06-25 20:35:17 +02:00
ac885f8adb Update CHANGELOG.md (#5466)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 17:04:25 +01:00
8d91a5df5f Fix Apt-Cacher Issue with CAT 2025-06-25 18:03:54 +02:00
5ad9323944 Docmost: Increase resources (#5458)
* Update docmost.sh

* Update docmost.json
2025-06-25 14:25:17 +02:00
559bf61c31 Update versions.json (#5459)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 14:07:52 +02:00
33 changed files with 721 additions and 371 deletions

44
.github/workflows/push-to-gitea.yaml generated vendored Normal file
View File

@ -0,0 +1,44 @@
name: Sync to Gitea
on:
push:
branches:
- main
jobs:
sync:
if: github.repository == 'community-scripts/ProxmoxVE'
runs-on: ubuntu-latest
steps:
- name: Checkout source repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Change all links to git.community-scripts.org
run: |
echo "Searching for files containing raw.githubusercontent.com URLs..."
# Find all files containing GitHub raw URLs, excluding certain directories
files_with_github_urls=$(grep -r "https://raw.githubusercontent.com/community-scripts/ProxmoxVE" . --exclude-dir=.git --exclude-dir=node_modules --exclude-dir=.github/workflows --files-with-matches || true)
if [ -n "$files_with_github_urls" ]; then
echo "$files_with_github_urls" | while read file; do
if [ -f "$file" ]; then
sed -i 's|https://raw\.githubusercontent\.com/community-scripts/ProxmoxVE/|https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/|g' "$file"
fi
done
else
echo "No files found containing GitHub raw URLs"
fi
- name: Push to Gitea
run: |
git config --global user.name "Push From Github"
git config --global user.email "actions@github.com"
git remote add gitea https://$GITEA_USER:$GITEA_TOKEN@git.community-scripts.org/community-scripts/ProxmoxVE.git
git push gitea --all
env:
GITEA_USER: ${{ secrets.GITEA_USERNAME }}
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}

View File

@ -14,10 +14,33 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2025-06-27
### 🧰 Maintenance
- #### 📂 Github
- New workflow to push to gitea and change links to gitea [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5510](https://github.com/community-scripts/ProxmoxVE/pull/5510))
## 2025-06-26
### 🆕 New Scripts
- ConvertX ([#5484](https://github.com/community-scripts/ProxmoxVE/pull/5484))
### 🚀 Updated Scripts
- [tools] Update setup_nodejs function [@tremor021](https://github.com/tremor021) ([#5488](https://github.com/community-scripts/ProxmoxVE/pull/5488))
- [tools] Fix setup_mongodb function [@tremor021](https://github.com/tremor021) ([#5486](https://github.com/community-scripts/ProxmoxVE/pull/5486))
## 2025-06-25
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Docmost: Increase resources [@tremor021](https://github.com/tremor021) ([#5458](https://github.com/community-scripts/ProxmoxVE/pull/5458))
- #### ✨ New Features
- tools.func: new helper for imagemagick [@MickLesk](https://github.com/MickLesk) ([#5452](https://github.com/community-scripts/ProxmoxVE/pull/5452))
@ -27,6 +50,21 @@ All LXC instances created using this repository come pre-installed with Midnight
- Refactor: Tailscale [@MickLesk](https://github.com/MickLesk) ([#5454](https://github.com/community-scripts/ProxmoxVE/pull/5454))
### 🌐 Website
- #### 🐞 Bug Fixes
- Update Tooltips component to conditionally display updateable status based on item type [@BramSuurdje](https://github.com/BramSuurdje) ([#5461](https://github.com/community-scripts/ProxmoxVE/pull/5461))
- Refactor CommandMenu to prevent duplicate scripts across categories [@BramSuurdje](https://github.com/BramSuurdje) ([#5463](https://github.com/community-scripts/ProxmoxVE/pull/5463))
- #### ✨ New Features
- Enhance InstallCommand component to support Gitea as an alternative source for installation scripts. [@BramSuurdje](https://github.com/BramSuurdje) ([#5464](https://github.com/community-scripts/ProxmoxVE/pull/5464))
- #### 📝 Script Information
- Website: mark VM's and "OS"-LXC's as updatable [@MickLesk](https://github.com/MickLesk) ([#5453](https://github.com/community-scripts/ProxmoxVE/pull/5453))
## 2025-06-24
### 🆕 New Scripts

70
ct/convertx.sh Normal file
View File

@ -0,0 +1,70 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya | MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/C4illin/ConvertX
APP="ConvertX"
var_tags="${var_tags:-converter}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/C4illin/ConvertX/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat ~/.convertx 2>/dev/null)" ]] || [[ ! -f ~/.convertx ]]; then
msg_info "Stopping $APP"
systemctl stop convertx
msg_ok "Stopped $APP"
msg_info "Move data-Folder"
if [[ -d /opt/convertx/data ]]; then
mv /opt/convertx/data /opt/data
fi
msg_ok "Moved data-Folder"
fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx"
msg_info "Updating $APP to v${RELEASE}"
if [[ -d /opt/data ]]; then
mv /opt/data /opt/convertx/data
fi
cd /opt/convertx
$STD bun install
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start convertx
msg_ok "Started $APP"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${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}:3000${CL}"

6
ct/headers/convertx Normal file
View File

@ -0,0 +1,6 @@
______ __ _ __
/ ____/___ ____ _ _____ _____/ /| |/ /
/ / / __ \/ __ \ | / / _ \/ ___/ __/ /
/ /___/ /_/ / / / / |/ / __/ / / /_/ |
\____/\____/_/ /_/|___/\___/_/ \__/_/|_|

View File

@ -70,6 +70,7 @@ function update_script() {
systemctl stop jellyseerr
rm -rf dist .next node_modules
export CYPRESS_INSTALL_BINARY=0
cd /opt/jellyseerr
$STD pnpm install --frozen-lockfile
export NODE_OPTIONS="--max-old-space-size=3072"
$STD pnpm build

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -6,7 +6,7 @@
],
"date_created": "2025-01-27",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

40
frontend/public/json/convertx.json generated Normal file
View File

@ -0,0 +1,40 @@
{
"name": "ConvertX",
"slug": "convertx",
"categories": [
9
],
"date_created": "2025-06-26",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/opt/convertx/.env",
"interface_port": 3000,
"documentation": "https://github.com/C4illin/ConvertX",
"website": "https://github.com/C4illin/ConvertX",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/convertx.svg",
"description": "ConvertX is a self-hosted online file converter supporting over 1000 formats, including images, audio, video, documents, and more, powered by FFmpeg, GraphicsMagick, and other libraries.",
"install_methods": [
{
"type": "default",
"script": "ct/convertx.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 20,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Complete setup via the web interface at http://<container-ip>:3000. Create and secure the admin account immediately.",
"type": "info"
}
]
}

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -1,35 +1,35 @@
{
"name": "Debian",
"slug": "debian",
"categories": [
2
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": "https://www.debian.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/debian.webp",
"config_path": "",
"description": "Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms.",
"install_methods": [
{
"type": "default",
"script": "ct/debian.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
"name": "Debian",
"slug": "debian",
"categories": [
2
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": "https://www.debian.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/debian.webp",
"config_path": "",
"description": "Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms.",
"install_methods": [
{
"type": "default",
"script": "ct/debian.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -7,7 +7,7 @@
],
"date_created": "2025-01-20",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -1,44 +1,44 @@
{
"name": "Home Assistant OS",
"slug": "haos-vm",
"categories": [
16
],
"date_created": "2024-04-29",
"type": "vm",
"updateable": false,
"privileged": false,
"interface_port": 8123,
"documentation": "https://www.home-assistant.io/docs/",
"website": "https://www.home-assistant.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/home-assistant.webp",
"config_path": "",
"description": "This script automates the process of creating a Virtual Machine (VM) using the official KVM (qcow2) disk image provided by the Home Assistant Team. It involves finding, downloading, and extracting the image, defining user-defined settings, importing and attaching the disk, setting the boot order, and starting the VM. It supports various storage types, and does not involve any hidden installations. After the script completes, click on the VM, then on the Summary tab to find the VM IP.",
"install_methods": [
{
"type": "default",
"script": "vm/haos-vm.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 32,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
"name": "Home Assistant OS",
"slug": "haos-vm",
"categories": [
16
],
"date_created": "2024-04-29",
"type": "vm",
"updateable": true,
"privileged": false,
"interface_port": 8123,
"documentation": "https://www.home-assistant.io/docs/",
"website": "https://www.home-assistant.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/home-assistant.webp",
"config_path": "",
"description": "This script automates the process of creating a Virtual Machine (VM) using the official KVM (qcow2) disk image provided by the Home Assistant Team. It involves finding, downloading, and extracting the image, defining user-defined settings, importing and attaching the disk, setting the boot order, and starting the VM. It supports various storage types, and does not involve any hidden installations. After the script completes, click on the VM, then on the Summary tab to find the VM IP.",
"install_methods": [
{
"type": "default",
"script": "vm/haos-vm.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 32,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The disk must have a minimum size of 32GB and its size cannot be changed during the creation of the VM.",
"type": "warning"
},
"notes": [
{
"text": "The disk must have a minimum size of 32GB and its size cannot be changed during the creation of the VM.",
"type": "warning"
},
{
"text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
"type": "info"
}
]
{
"text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
"type": "info"
}
]
}

View File

@ -7,7 +7,7 @@
],
"date_created": "2024-05-02",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -6,7 +6,7 @@
],
"date_created": "2023-11-14",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,

View File

@ -7,7 +7,7 @@
],
"date_created": "2024-05-02",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -7,7 +7,7 @@
],
"date_created": "2025-02-11",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 443,
"documentation": "https://docs.opnsense.org/",

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,

View File

@ -1,40 +1,40 @@
{
"name": "PiMox HAOS",
"slug": "pimox-haos-vm",
"categories": [
16
],
"date_created": "2024-04-29",
"type": "vm",
"updateable": false,
"privileged": false,
"interface_port": 8123,
"documentation": null,
"website": "https://github.com/jiangcuo/Proxmox-Port",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/home-assistant.webp",
"config_path": "",
"description": "The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.",
"install_methods": [
{
"type": "default",
"script": "vm/pimox-haos-vm.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 32,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
"type": "info"
}
]
"name": "PiMox HAOS",
"slug": "pimox-haos-vm",
"categories": [
16
],
"date_created": "2024-04-29",
"type": "vm",
"updateable": true,
"privileged": false,
"interface_port": 8123,
"documentation": null,
"website": "https://github.com/jiangcuo/Proxmox-Port",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/home-assistant.webp",
"config_path": "",
"description": "The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.",
"install_methods": [
{
"type": "default",
"script": "vm/pimox-haos-vm.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 32,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
"type": "info"
}
]
}

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 5432,
"documentation": null,

View File

@ -1,35 +1,35 @@
{
"name": "Ubuntu",
"slug": "ubuntu",
"categories": [
2
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": "https://ubuntu.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/ubuntu.webp",
"config_path": "",
"description": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.",
"install_methods": [
{
"type": "default",
"script": "ct/ubuntu.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "ubuntu",
"version": "24.04"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
"name": "Ubuntu",
"slug": "ubuntu",
"categories": [
2
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": "https://ubuntu.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/ubuntu.webp",
"config_path": "",
"description": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.",
"install_methods": [
{
"type": "default",
"script": "ct/ubuntu.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "ubuntu",
"version": "24.04"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -6,7 +6,7 @@
],
"date_created": "2025-01-24",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -6,7 +6,7 @@
],
"date_created": "2025-06-19",
"type": "vm",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,

View File

@ -1,19 +1,169 @@
[
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "prometheus/prometheus",
"version": "v3.4.2",
"date": "2025-06-26T21:45:21Z"
},
{
"name": "home-assistant/operating-system",
"version": "15.2",
"date": "2025-04-14T15:37:12Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.3.3",
"date": "2025-06-26T18:42:56Z"
},
{
"name": "home-assistant/core",
"version": "2025.6.3",
"date": "2025-06-24T13:00:12Z"
},
{
"name": "ollama/ollama",
"version": "v0.9.4-rc0",
"date": "2025-06-26T17:32:48Z"
},
{
"name": "apache/tika",
"version": "3.2.1-rc2",
"date": "2025-06-26T17:10:25Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.84.3",
"date": "2025-06-26T16:31:57Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-ui@15.5.5",
"date": "2025-06-26T15:54:17Z"
},
{
"name": "traefik/traefik",
"version": "v3.5.0-rc1",
"date": "2025-06-26T15:08:43Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-no-simd-x86-arroy-0",
"date": "2025-06-26T14:54:18Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.63",
"date": "2025-06-26T14:34:19Z"
},
{
"name": "node-red/node-red",
"version": "4.1.0-beta.2",
"date": "2025-06-26T14:23:26Z"
},
{
"name": "plexguide/Huntarr.io",
"version": "8.1.9",
"date": "2025-06-26T14:16:45Z"
},
{
"name": "Dolibarr/dolibarr",
"version": "18.0.7",
"date": "2025-06-26T09:16:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2056",
"date": "2025-06-26T05:51:50Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.18",
"date": "2025-06-20T04:45:37Z"
},
{
"name": "mongodb/mongo",
"version": "r8.1.2-rc1",
"date": "2025-06-25T22:42:04Z"
},
{
"name": "rcourtman/Pulse",
"version": "v3.32.0",
"date": "2025-06-25T22:27:01Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.6.1",
"date": "2025-06-25T21:19:25Z"
},
{
"name": "coder/code-server",
"version": "v4.101.2",
"date": "2025-06-25T21:18:52Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.22.4",
"date": "2025-06-25T20:46:20Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.2.0",
"date": "2025-06-25T17:31:48Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.5",
"date": "2025-05-28T06:49:43Z"
},
{
"name": "wavelog/wavelog",
"version": "2.0.5",
"date": "2025-06-25T14:53:31Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.504.3",
"date": "2025-06-25T14:43:01Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "testing",
"date": "2025-06-16T18:10:42Z"
},
{
"name": "cockpit-project/cockpit",
"version": "341",
"date": "2025-06-25T11:49:28Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "mattermost/mattermost",
"version": "v9.11.17",
"date": "2025-06-18T08:12:05Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.100.0",
"date": "2025-06-23T12:48:35Z"
},
{
"name": "moghtech/komodo",
"version": "v1.18.4",
"date": "2025-06-25T00:06:56Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.0.120-2.1.0.120_canary_2025-06-24",
"date": "2025-06-24T22:39:50Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.516",
"date": "2025-06-24T21:06:15Z"
},
{
"name": "ollama/ollama",
"version": "v0.9.3-rc1",
"date": "2025-06-24T20:26:55Z"
},
{
"name": "evcc-io/evcc",
"version": "0.204.5",
@ -39,56 +189,26 @@
"version": "v2.37.3",
"date": "2025-06-24T14:05:33Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.2.0",
"date": "2025-06-24T13:20:53Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p5",
"date": "2025-06-24T13:06:53Z"
},
{
"name": "home-assistant/core",
"version": "2025.6.3",
"date": "2025-06-24T13:00:12Z"
},
{
"name": "rcourtman/Pulse",
"version": "v3.31.2",
"date": "2025-06-24T09:45:34Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-fix-proxy-axios",
"date": "2025-06-24T08:50:22Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2052",
"date": "2025-06-24T05:59:30Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w26-4.13.0",
"date": "2025-06-24T02:02:34Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-incremental-vector-store-1",
"date": "2025-06-23T21:37:47Z"
},
{
"name": "minio/minio",
"version": "RELEASE.2025-06-13T11-33-47Z",
"date": "2025-06-23T20:58:42Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.5",
"date": "2025-05-28T06:49:43Z"
},
{
"name": "esphome/esphome",
"version": "2025.6.1",
@ -96,44 +216,24 @@
},
{
"name": "runtipi/runtipi",
"version": "v4.2.1",
"date": "2025-06-03T20:04:28Z"
"version": "nightly",
"date": "2025-06-23T19:10:33Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.120.0",
"date": "2025-06-23T15:12:12Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.98.2",
"date": "2025-06-18T18:20:16Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.3.0-rc.2",
"date": "2025-06-23T11:31:38Z"
},
{
"name": "mattermost/mattermost",
"version": "v9.11.17",
"date": "2025-06-18T08:12:05Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.18",
"date": "2025-06-20T04:45:37Z"
},
{
"name": "gotson/komga",
"version": "1.22.0",
"date": "2025-06-23T03:11:37Z"
},
{
"name": "plexguide/Huntarr.io",
"version": "8.1.8",
"date": "2025-06-23T00:21:30Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.6.22",
@ -149,21 +249,11 @@
"version": "v1.4.1",
"date": "2025-06-22T19:38:08Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.22.3",
"date": "2025-06-22T18:29:00Z"
},
{
"name": "clusterzx/paperless-ai",
"version": "v3.0.7",
"date": "2025-06-22T17:49:29Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "create-fumadocs-app@15.5.4",
"date": "2025-06-22T13:12:24Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "1.5.35",
@ -204,11 +294,6 @@
"version": "0.50.4",
"date": "2025-06-21T07:47:02Z"
},
{
"name": "coder/code-server",
"version": "v4.101.1",
"date": "2025-06-21T02:47:08Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.24.2",
@ -219,36 +304,16 @@
"version": "v1.135.3",
"date": "2025-06-20T20:19:20Z"
},
{
"name": "apache/tika",
"version": "3.2.1-rc1",
"date": "2025-06-20T19:41:10Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.25.0",
"date": "2025-06-20T19:15:43Z"
},
{
"name": "mongodb/mongo",
"version": "r8.1.2-rc0",
"date": "2025-06-20T17:35:38Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "Sonarr/Sonarr",
"version": "v4.0.15.2941",
"date": "2025-06-20T17:20:54Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "testing",
"date": "2025-06-16T18:10:42Z"
},
{
"name": "zabbix/zabbix",
"version": "7.2.9",
@ -419,16 +484,6 @@
"version": "v8.1.16",
"date": "2025-06-16T13:49:37Z"
},
{
"name": "home-assistant/operating-system",
"version": "15.2",
"date": "2025-04-14T15:37:12Z"
},
{
"name": "moghtech/komodo",
"version": "v1.18.3",
"date": "2025-06-16T07:03:46Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.10.7",
@ -519,11 +574,6 @@
"version": "v1.12.0-rc.4",
"date": "2025-06-12T00:27:41Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "autobrr/autobrr",
"version": "v1.63.1",
@ -539,16 +589,6 @@
"version": "v0.15.0-rc2",
"date": "2025-06-11T04:29:22Z"
},
{
"name": "node-red/node-red",
"version": "4.1.0-beta.1",
"date": "2025-06-10T15:47:59Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.62",
"date": "2025-05-27T12:10:19Z"
},
{
"name": "OctoPrint/OctoPrint",
"version": "1.11.2",
@ -559,11 +599,6 @@
"version": "v0.8.4",
"date": "2025-06-10T07:57:14Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.84.2",
"date": "2025-06-09T23:43:27Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.8.0",
@ -619,11 +654,6 @@
"version": "10.1.42",
"date": "2025-06-05T22:39:40Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.3.2",
"date": "2025-06-05T19:57:01Z"
},
{
"name": "benjaminjonard/koillection",
"version": "1.6.14",
@ -649,11 +679,6 @@
"version": "v4.1.1",
"date": "2025-06-04T19:10:05Z"
},
{
"name": "cockpit-project/cockpit",
"version": "340",
"date": "2025-06-04T16:41:44Z"
},
{
"name": "intri-in/manage-my-damn-life-nextjs",
"version": "v0.7.1",
@ -694,11 +719,6 @@
"version": "v5.18.1",
"date": "2025-05-31T23:06:08Z"
},
{
"name": "prometheus/prometheus",
"version": "v3.4.1",
"date": "2025-05-31T13:45:40Z"
},
{
"name": "blakeblackshear/frigate",
"version": "v0.14.1",
@ -714,11 +734,6 @@
"version": "0.26.3",
"date": "2025-05-29T21:18:15Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.6.0",
"date": "2025-05-29T19:11:21Z"
},
{
"name": "navidrome/navidrome",
"version": "v0.56.1",
@ -749,11 +764,6 @@
"version": "1.2.34",
"date": "2025-05-27T18:18:00Z"
},
{
"name": "traefik/traefik",
"version": "v3.4.1",
"date": "2025-05-27T12:53:58Z"
},
{
"name": "dani-garcia/vaultwarden",
"version": "1.34.1",
@ -824,16 +834,6 @@
"version": "v1.1.1",
"date": "2025-05-17T10:10:36Z"
},
{
"name": "wavelog/wavelog",
"version": "2.0.4",
"date": "2025-05-16T15:09:53Z"
},
{
"name": "Dolibarr/dolibarr",
"version": "18.0.7",
"date": "2025-05-15T08:24:30Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",

View File

@ -44,7 +44,7 @@
},
"notes": [
{
"text": "Wireguard and WGDashboard are not the same. More info: `https://donaldzou.github.io/WGDashboard-Documentation/what-is-wireguard-what-is-wgdashboard.html`",
"text": "Wireguard and WGDashboard are not the same. More info: `https://docs.wgdashboard.dev/what-is-wireguard-what-is-wgdashboard.html`",
"type": "info"
}
]

View File

@ -1,17 +1,20 @@
import CodeCopyButton from "@/components/ui/code-copy-button";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { Alert, AlertDescription } from "@/components/ui/alert";
import { Info } from "lucide-react";
import { basePath } from "@/config/siteConfig";
import { Script } from "@/lib/types";
import { getDisplayValueFromType } from "../ScriptInfoBlocks";
const getInstallCommand = (scriptPath = "", isAlpine = false) => {
const url = `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${scriptPath}`;
return isAlpine ? `bash -c "$(curl -fsSL ${url})"` : `bash -c "$(curl -fsSL ${url})"`;
const getInstallCommand = (scriptPath = "", isAlpine = false, useGitea = false) => {
const githubUrl = `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${scriptPath}`;
const giteaUrl = `https://git.community-scripts.org/community-scripts/${basePath}/raw/branch/main/${scriptPath}`;
const url = useGitea ? giteaUrl : githubUrl;
return `bash -c "$(curl -fsSL ${url})"`;
};
export default function InstallCommand({ item }: { item: Script }) {
const alpineScript = item.install_methods.find((method) => method.type === "alpine");
const defaultScript = item.install_methods.find((method) => method.type === "default");
const renderInstructions = (isAlpine = false) => (
@ -49,9 +52,20 @@ export default function InstallCommand({ item }: { item: Script }) {
</>
);
return (
<div className="p-4">
{alpineScript ? (
const renderGiteaInfo = () => (
<Alert className="mt-3 mb-3">
<Info className="h-4 w-4" />
<AlertDescription className="text-sm">
<strong>When to use Gitea:</strong> GitHub may have issues including slow connections, delayed updates after bug
fixes, no IPv6 support, API rate limits (60/hour). Use our Gitea mirror as a reliable alternative when
experiencing these issues.
</AlertDescription>
</Alert>
);
const renderScriptTabs = (useGitea = false) => {
if (alpineScript) {
return (
<Tabs defaultValue="default" className="mt-2 w-full max-w-4xl">
<TabsList>
<TabsTrigger value="default">Default</TabsTrigger>
@ -59,19 +73,40 @@ export default function InstallCommand({ item }: { item: Script }) {
</TabsList>
<TabsContent value="default">
{renderInstructions()}
<CodeCopyButton>{getInstallCommand(defaultScript?.script)}</CodeCopyButton>
<CodeCopyButton>{getInstallCommand(defaultScript?.script, false, useGitea)}</CodeCopyButton>
</TabsContent>
<TabsContent value="alpine">
{renderInstructions(true)}
<CodeCopyButton>{getInstallCommand(alpineScript.script, true)}</CodeCopyButton>
<CodeCopyButton>{getInstallCommand(alpineScript.script, true, useGitea)}</CodeCopyButton>
</TabsContent>
</Tabs>
) : defaultScript?.script ? (
);
} else if (defaultScript?.script) {
return (
<>
{renderInstructions()}
<CodeCopyButton>{getInstallCommand(defaultScript.script)}</CodeCopyButton>
<CodeCopyButton>{getInstallCommand(defaultScript.script, false, useGitea)}</CodeCopyButton>
</>
) : null}
);
}
return null;
};
return (
<div className="p-4">
<Tabs defaultValue="github" className="w-full max-w-4xl">
<TabsList>
<TabsTrigger value="github">GitHub</TabsTrigger>
<TabsTrigger value="gitea">Gitea</TabsTrigger>
</TabsList>
<TabsContent value="github">
{renderScriptTabs(false)}
</TabsContent>
<TabsContent value="gitea">
{renderGiteaInfo()}
{renderScriptTabs(true)}
</TabsContent>
</Tabs>
</div>
);
}
}

View File

@ -34,14 +34,14 @@ export default function Tooltips({ item }: { item: Script }) {
{item.privileged && (
<TooltipBadge variant="warning" label="Privileged" content="This script will be run in a privileged LXC" />
)}
{item.updateable && (
{(item.updateable || item.type !== "pve") && (
<TooltipBadge
variant="success"
label="Updateable"
content={`To Update ${item.name}, run the command below (or type update) in the LXC Console.`}
/>
)}
{!item.updateable && <TooltipBadge variant="failure" label="Not Updateable" />}
{!item.updateable && item.type !== "pve" && <TooltipBadge variant="failure" label="Not Updateable" />}
</div>
);
}

View File

@ -134,34 +134,54 @@ export default function CommandMenu() {
<CommandInput placeholder="Search for a script..." />
<CommandList>
<CommandEmpty>{isLoading ? "Loading..." : "No scripts found."}</CommandEmpty>
{links.map((category) => (
<CommandGroup key={`category:${category.name}`} heading={category.name}>
{category.scripts.map((script) => (
<CommandItem
key={`script:${script.slug}`}
value={`${script.slug}-${script.name}`}
onSelect={() => {
setOpen(false);
router.push(`/scripts?id=${script.slug}`);
}}
>
<div className="flex gap-2" onClick={() => setOpen(false)}>
<Image
src={script.logo || `/${basePath}/logo.png`}
onError={(e) => ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)}
unoptimized
width={16}
height={16}
alt=""
className="h-5 w-5"
/>
<span>{script.name}</span>
<span>{formattedBadge(script.type)}</span>
</div>
</CommandItem>
))}
</CommandGroup>
))}
{(() => {
// Track seen scripts globally to avoid duplicates across all categories
const globalSeenScripts = new Set<string>();
return links.map((category) => {
const uniqueScripts = category.scripts.filter((script) => {
if (globalSeenScripts.has(script.slug)) {
return false;
}
globalSeenScripts.add(script.slug);
return true;
});
// Only render category if it has unique scripts
if (uniqueScripts.length === 0) {
return null;
}
return (
<CommandGroup key={`category:${category.name}`} heading={category.name}>
{uniqueScripts.map((script) => (
<CommandItem
key={`script:${script.slug}`}
value={`${script.slug}-${script.name}`}
onSelect={() => {
setOpen(false);
router.push(`/scripts?id=${script.slug}`);
}}
>
<div className="flex gap-2" onClick={() => setOpen(false)}>
<Image
src={script.logo || `/${basePath}/logo.png`}
onError={(e) => ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)}
unoptimized
width={16}
height={16}
alt=""
className="h-5 w-5"
/>
<span>{script.name}</span>
<span>{formattedBadge(script.type)}</span>
</div>
</CommandItem>
))}
</CommandGroup>
);
});
})()}
</CommandList>
</CommandDialog>
</>

View File

@ -0,0 +1,82 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya | MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/C4illin/ConvertX
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
setup_imagemagick
msg_info "Installing Dependencies"
$STD apt-get install -y \
assimp-utils \
calibre \
dcraw \
dvisvgm \
ffmpeg \
inkscape \
libva2 \
libvips-tools \
lmodern \
mupdf-tools \
pandoc \
poppler-utils \
potrace \
python3-numpy \
texlive \
texlive-fonts-recommended \
texlive-latex-extra \
texlive-latex-recommended \
texlive-xetex
msg_ok "Installed Dependencies"
NODE_VERSION=22 NODE_MODULE="bun" setup_nodejs
fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx"
msg_info "Installing ConvertX"
cd /opt/convertx
mkdir -p data
$STD bun install
JWT_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
cat <<EOF >/opt/convertx/.env
JWT_SECRET=$JWT_SECRET
HTTP_ALLOWED=true
PORT=3000
EOF
msg_ok "Installed ConvertX"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/convertx.service
[Unit]
Description=ConvertX File Converter
After=network.target
[Service]
Type=exec
WorkingDirectory=/opt/convertx
EnvironmentFile=/opt/convertx/.env
ExecStart=/bin/bun dev
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now convertx
msg_ok "Service Created"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -28,6 +28,7 @@ NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
msg_info "Installing Jellyseerr (Patience)"
export CYPRESS_INSTALL_BINARY=0
cd /opt/jellyseerr
$STD pnpm install --frozen-lockfile
export NODE_OPTIONS="--max-old-space-size=3072"
$STD pnpm build

View File

@ -128,7 +128,7 @@ update_os() {
msg_info "Updating Container OS"
if [[ "$CACHER" == "yes" ]]; then
echo "Acquire::http::Proxy-Auto-Detect \"/usr/local/bin/apt-proxy-detect.sh\";" >/etc/apt/apt.conf.d/00aptproxy
cat <<EOF >/usr/local/bin/apt-proxy-detect.sh
cat <<'EOF' >/usr/local/bin/apt-proxy-detect.sh
#!/bin/bash
if nc -w1 -z "${CACHER_IP}" 3142; then
echo -n "http://${CACHER_IP}:3142"

View File

@ -67,14 +67,21 @@ function setup_nodejs() {
# Update to latest npm
$STD npm install -g npm@latest || {
msg_error "Failed to update npm to latest version"
exit 1
}
msg_ok "Setup Node.js ${NODE_VERSION}"
fi
export NODE_OPTIONS="--max-old-space-size=4096"
# Ensure valid working directory for npm (avoids uv_cwd error)
if [[ ! -d /opt ]]; then
mkdir -p /opt
fi
cd /opt || {
msg_error "Failed to set safe working directory before npm install"
exit 1
}
# Install global Node modules
if [[ -n "$NODE_MODULE" ]]; then
IFS=',' read -ra MODULES <<<"$NODE_MODULE"
@ -643,8 +650,14 @@ function setup_mongodb() {
DISTRO_CODENAME=$(awk -F= '/^VERSION_CODENAME=/{ print $2 }' /etc/os-release)
case "$DISTRO_ID" in
ubuntu) MONGO_BASE_URL="https://repo.mongodb.org/apt/ubuntu" ;;
debian) MONGO_BASE_URL="https://repo.mongodb.org/apt/debian" ;;
ubuntu)
MONGO_BASE_URL="https://repo.mongodb.org/apt/ubuntu"
REPO_COMPONENT="multiverse"
;;
debian)
MONGO_BASE_URL="https://repo.mongodb.org/apt/debian"
REPO_COMPONENT="main"
;;
*)
msg_error "Unsupported distribution: $DISTRO_ID"
return 1
@ -676,7 +689,7 @@ function setup_mongodb() {
fi
curl -fsSL "https://pgp.mongodb.com/server-${MONGO_VERSION}.asc" | gpg --dearmor -o "/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg"
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg] ${MONGO_BASE_URL} ${DISTRO_CODENAME}/mongodb-org/${MONGO_VERSION} main" \
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg] ${MONGO_BASE_URL} ${DISTRO_CODENAME}/mongodb-org/${MONGO_VERSION} ${REPO_COMPONENT}" \
>"$REPO_LIST"
$STD apt-get update || {