Compare commits

...

32 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
4bb887a390 Update CHANGELOG.md (#2177)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-08 23:40:58 +01:00
thomashondema
8fd8ca2c50 Fixed typos in CONTRIBUTOR_GUIDE (#2174)
Co-authored-by: thomashondema <thomas.hondema@icepay.com>
2025-02-08 23:37:35 +01:00
Pascal Bourque
f69d5b5831 fix(actualbudget): Salvage the .migrate file when upgrading (#2173) 2025-02-08 23:36:02 +01:00
github-actions[bot]
fead4b76f8 Update .app files (#2170)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-08 22:46:44 +01:00
community-scripts-pr-app[bot]
800c1065b9 Update CHANGELOG.md (#2171) 2025-02-08 22:00:37 +01:00
bvdberg01
782e0a8535 New script: Barcode Buddy (#2167) 2025-02-08 21:59:42 +01:00
community-scripts-pr-app[bot]
5863d81571 Update CHANGELOG.md (#2164) 2025-02-08 14:49:23 +01:00
Bram Suurd
c15e34143f Update cosmos.json (#2162) 2025-02-08 14:33:17 +01:00
CanbiZ
57c3a42a6e add 10.000 Star to Changelog 2025-02-07 23:08:53 +01:00
community-scripts-pr-app[bot]
7c13a7bce0 Update CHANGELOG.md (#2152)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 23:07:53 +01:00
CanbiZ
9c23b55bc0 Fix: Trillium Update Function & Harmonize Installation (#2148)
* Fix Trillium Update Function

* Update trilium-install.sh
2025-02-07 22:43:14 +01:00
community-scripts-pr-app[bot]
5c0811c5ba Update CHANGELOG.md (#2149)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 21:52:41 +01:00
Slaviša Arežina
6bc92a0feb Fix: Zerotier-One fixed missing dependency (#2147) 2025-02-07 21:45:45 +01:00
community-scripts-pr-app[bot]
9f5f5f54a0 Update CHANGELOG.md (#2145) 2025-02-07 19:53:04 +01:00
Slaviša Arežina
047ef8e669 fix zerotier (#2144) 2025-02-07 19:52:09 +01:00
community-scripts-pr-app[bot]
be572755a9 Update CHANGELOG.md (#2138)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 16:03:21 +01:00
Michel Roegl-Brunner
393e1c6481 Update openwrt.sh (#2137) 2025-02-07 16:01:49 +01:00
CanbiZ
539696e84a Update README.md 2025-02-07 15:55:14 +01:00
CanbiZ
6ecfc10b8c Update README.md 2025-02-07 15:51:25 +01:00
CanbiZ
1c7bab33e6 [core]: Enhance LXC template handling and improve error recovery (#2128) 2025-02-07 15:42:40 +01:00
community-scripts-pr-app[bot]
b0cdb308bd Update CHANGELOG.md (#2136)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 15:32:42 +01:00
CanbiZ
9d61a37945 [gh]: Following the trend - add star-history in readme (#2135)
* [gh]: add star history in readme

* dark theme support
2025-02-07 15:29:17 +01:00
community-scripts-pr-app[bot]
c4bd38cb9e Update CHANGELOG.md (#2133)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 15:28:03 +01:00
CanbiZ
2f37355d77 Fix: Cosmos logo doesnt display on website (#2132) 2025-02-07 15:20:17 +01:00
community-scripts-pr-app[bot]
59a132fd6b Update CHANGELOG.md (#2131)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 15:10:25 +01:00
github-actions[bot]
9c3bd7dc20 Update .app files (#2129)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-07 14:45:23 +01:00
CanbiZ
d73d312882 Fix: Increase Size for PeaNUT (#2127) 2025-02-07 14:44:52 +01:00
community-scripts-pr-app[bot]
3361fabfc4 Update CHANGELOG.md (#2130)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 14:34:32 +01:00
Michel Roegl-Brunner
030682c754 New Script: Cosmos (#2120)
* New Script: Cosmos

* update cosmos.json

* update cosmos.sh and cosmos.json

---------

Co-authored-by: Rögl-Brunner Michel <Michel.Roegl-brunner@htl-braunau.int>
2025-02-07 14:32:10 +01:00
CanbiZ
3029e69767 New Script: SearXNG (#2123)
* New Script: SearXNG

* Update install/searxng-install.sh

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>

* Update searxng.json

---------

Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-02-07 14:31:59 +01:00
community-scripts-pr-app[bot]
7dcc717017 Update CHANGELOG.md (#2122)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-07 10:56:39 +01:00
Michel Roegl-Brunner
9825506ab7 Fix JSON-Editor (#2121)
Co-authored-by: Rögl-Brunner Michel <Michel.Roegl-brunner@htl-braunau.int>
2025-02-07 10:54:08 +01:00
27 changed files with 711 additions and 46 deletions

View File

@@ -171,7 +171,7 @@ if [[ ! -d /opt/snipe-it ]]; then
### 3.3 **Check version**
- Befoer updating, check if a new version exists.
- Before updating, check if a new version exists.
- We use the `${APPLICATION}_version.txt` file created in `/opt` during the install to compare new versions against the currently installed version.
Example with a Github Release:
@@ -241,7 +241,7 @@ Example:
### 3.7 **No update function**
- In case you can not provide a update function use the following code to provide user feedback.
- In case you can not provide an update function use the following code to provide user feedback.
```bash
function update_script() {
@@ -252,7 +252,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Ther is currently no automatic update function for ${APP}."
msg_error "There is currently no automatic update function for ${APP}."
exit
}
```
@@ -286,6 +286,6 @@ echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
- [ ] Metadata (author, license) is included at the top.
- [ ] Variables follow naming conventions.
- [ ] Update function exists.
- [ ] Update functions checks if app is installed an for new version.
- [ ] Update function up temporary files.
- [ ] Update functions checks if app is installed and for new version.
- [ ] Update function cleans up temporary files.
- [ ] Script ends with a helpful message for the user to reach the application.

View File

@@ -12,7 +12,7 @@
"documentation": null,
"website": "LINK TO WEBSITE",
"logo": "LINK TO LOGO",
"description": "Deescription of the app",
"description": "Description of the app",
"install_methods": [
{
"type": "default",

View File

@@ -17,6 +17,56 @@ All LXC instances created using this repository come pre-installed with Midnight
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
## 2025-02-08
### Changed
### ✨ New Scripts
- New script: Barcode Buddy [@bvdberg01](https://github.com/bvdberg01) ([#2167](https://github.com/community-scripts/ProxmoxVE/pull/2167))
### 🚀 Updated Scripts
- Fix: Actualbudget - salvage the `.migrate` file when upgrading [@bourquep](https://github.com/bourquep) ([#2173](https://github.com/community-scripts/ProxmoxVE/pull/2173))
### 🌐 Website
- Update cosmos.json description [@BramSuurdje](https://github.com/BramSuurdje) ([#2162](https://github.com/community-scripts/ProxmoxVE/pull/2162))
### 🧰 Maintenance
- fix typos in CONTRIBUTOR_GUIDE [@thomashondema](https://github.com/thomashondema) ([#2174](https://github.com/community-scripts/ProxmoxVE/pull/2174))
## 2025-02-07 - 10.000 ⭐
### Changed
### 💥 Breaking Changes
- [core]: Enhance LXC template handling and improve error recovery [@MickLesk](https://github.com/MickLesk) ([#2128](https://github.com/community-scripts/ProxmoxVE/pull/2128))
### ✨ New Scripts
- New Script: Cosmos [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2120](https://github.com/community-scripts/ProxmoxVE/pull/2120))
- New Script: SearXNG [@MickLesk](https://github.com/MickLesk) ([#2123](https://github.com/community-scripts/ProxmoxVE/pull/2123))
### 🚀 Updated Scripts
- Fix: Trillium Update Function & Harmonize Installation [@MickLesk](https://github.com/MickLesk) ([#2148](https://github.com/community-scripts/ProxmoxVE/pull/2148))
- Fix: Zerotier-One fixed missing dependency [@tremor021](https://github.com/tremor021) ([#2147](https://github.com/community-scripts/ProxmoxVE/pull/2147))
- Fix: Openwrt Version checking [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2137](https://github.com/community-scripts/ProxmoxVE/pull/2137))
- Fix: PeaNUT Increase HDD & RAM Size [@MickLesk](https://github.com/MickLesk) ([#2127](https://github.com/community-scripts/ProxmoxVE/pull/2127))
### 🌐 Website
- Fix: Zerotier json had a bad script path [@tremor021](https://github.com/tremor021) ([#2144](https://github.com/community-scripts/ProxmoxVE/pull/2144))
- Fix: Cosmos logo doesnt display on website [@MickLesk](https://github.com/MickLesk) ([#2132](https://github.com/community-scripts/ProxmoxVE/pull/2132))
- Fix JSON-Editor [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2121](https://github.com/community-scripts/ProxmoxVE/pull/2121))
### 🧰 Maintenance
- [gh]: Following the trend - add star-history in readme [@MickLesk](https://github.com/MickLesk) ([#2135](https://github.com/community-scripts/ProxmoxVE/pull/2135))
## 2025-02-06
### Changed

View File

@@ -91,6 +91,16 @@ If you encounter any issues or have suggestions for improvement, file a new issu
---
## ⭐ Star History
<a href="https://star-history.com/#community-scripts/ProxmoxVE&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=community-scripts/ProxmoxVE&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=community-scripts/ProxmoxVE&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=community-scripts/ProxmoxVE&type=Date" />
</picture>
</a>
## 📜 License
This project is licensed under the [MIT License](LICENSE).

View File

@@ -48,6 +48,7 @@ function update_script() {
mv *ctual-server-* /opt/actualbudget
rm -rf /opt/actualbudget/.env
mv /opt/actualbudget_bak/.env /opt/actualbudget
mv /opt/actualbudget_bak/.migrate /opt/actualbudget
mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
cd /opt/actualbudget
yarn install &>/dev/null

76
ct/barcode-buddy.sh Normal file
View File

@@ -0,0 +1,76 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Forceu/barcodebuddy
# App Default Values
APP="Barcode-Buddy"
var_tags="grocery;household"
var_cpu="1"
var_ram="512"
var_disk="3"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/barcodebuddy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Service"
systemctl stop apache2
systemctl stop barcodebuddy
msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
mv /opt/barcodebuddy/ /opt/barcodebuddy-backup
wget -q "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip"
unzip -q "v${RELEASE}.zip"
mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy
cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data
chown -R www-data:www-data /opt/barcodebuddy/data
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting Service"
systemctl start apache2
systemctl start barcodebuddy
msg_ok "Started Service"
msg_info "Cleaning up"
rm -r "/opt/v${RELEASE}.zip"
rm -r /opt/barcodebuddy-backup
msg_ok "Cleaned"
msg_ok "Updated Successfully"
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}${CL}"

45
ct/cosmos.sh Normal file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Michel Roegl-Brunner (michelroegl-brunner)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://https://cosmos-cloud.io/
# App Default Values
APP="cosmos"
var_tags="os,docker"
var_cpu="2"
var_ram="2048"
var_disk="8"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/cosmos ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_ok "${APP} updates itself automatically!"
}
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}${CL}"

View File

@@ -182,24 +182,37 @@ mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLA
[ ${#TEMPLATES[@]} -gt 0 ] || { msg_error "Unable to find a template when searching for '$TEMPLATE_SEARCH'."; exit 207; }
TEMPLATE="${TEMPLATES[-1]}"
# Download LXC template if needed
if ! pveam list $TEMPLATE_STORAGE | grep -q $TEMPLATE; then
TEMPLATE_PATH="/var/lib/vz/template/cache/$TEMPLATE"
# Check if template exists, if corrupt remove and redownload
if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE"; then
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
msg_info "Downloading LXC Template"
pveam download $TEMPLATE_STORAGE $TEMPLATE >/dev/null ||
msg_error "A problem occured while downloading the LXC template."
exit 208
pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null ||
{ msg_error "A problem occurred while downloading the LXC template."; exit 208; }
msg_ok "Downloaded LXC Template"
fi
# Check and fix subuid/subgid
grep -q "root:100000:65536" /etc/subuid || echo "root:100000:65536" >> /etc/subuid
grep -q "root:100000:65536" /etc/subgid || echo "root:100000:65536" >> /etc/subgid
# Combine all options
DEFAULT_PCT_OPTIONS=(
-arch $(dpkg --print-architecture))
PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}})
[[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs $CONTAINER_STORAGE:${PCT_DISK_SIZE:-8})
[[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs "$CONTAINER_STORAGE:${PCT_DISK_SIZE:-8}")
# Create container
# Create container with template integrity check
msg_info "Creating LXC Container"
pct create $CTID ${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE} ${PCT_OPTIONS[@]} >/dev/null || { msg_error "A problem occured while trying to create container."; exit 200; }
msg_ok "LXC Container ${BL}$CTID${CL} ${GN}was successfully created."
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
msg_ok "Template integrity check completed"
pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null ||
{ msg_error "A problem occurred while re-downloading the LXC template."; exit 208; }
msg_ok "Re-downloaded LXC Template"
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
msg_error "A problem occurred while trying to create container after re-downloading template."
exit 200
fi
fi
msg_ok "LXC Container ${BL}$CTID${CL} ${GN}was successfully created."

6
ct/headers/barcode-buddy Normal file
View File

@@ -0,0 +1,6 @@
____ __ ____ __ __
/ __ )____ _______________ ____/ /__ / __ )__ ______/ /___/ /_ __
/ __ / __ `/ ___/ ___/ __ \/ __ / _ \______/ __ / / / / __ / __ / / / /
/ /_/ / /_/ / / / /__/ /_/ / /_/ / __/_____/ /_/ / /_/ / /_/ / /_/ / /_/ /
/_____/\__,_/_/ \___/\____/\__,_/\___/ /_____/\__,_/\__,_/\__,_/\__, /
/____/

6
ct/headers/cosmos Normal file
View File

@@ -0,0 +1,6 @@
_________ _________ ___ ____ _____
/ ___/ __ \/ ___/ __ `__ \/ __ \/ ___/
/ /__/ /_/ (__ ) / / / / / /_/ (__ )
\___/\____/____/_/ /_/ /_/\____/____/

6
ct/headers/searxng Normal file
View File

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

View File

@@ -9,8 +9,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
APP="PeaNUT"
var_tags="network;ups;"
var_cpu="2"
var_ram="2048"
var_disk="4"
var_ram="3072"
var_disk="7"
var_os="debian"
var_version="12"
var_unprivileged="1"

47
ct/searxng.sh Normal file
View File

@@ -0,0 +1,47 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/searxng/searxng
# App Default Values
APP="SearXNG"
var_tags="search"
var_cpu="2"
var_ram="2048"
var_disk="7"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /usr/local/searxng/searxng-src ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then
msg_ok "There is currently no update available."
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}:8888${CL}"

View File

@@ -32,21 +32,30 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt
fi
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
msg_info "Stopping ${APP}"
systemctl stop trilium
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Updating to ${RELEASE}"
mkdir -p /opt/trilium_backup
mv /opt/trilium/{db,dump-db} /opt/trilium_backup/
rm -rf /opt/trilium
cd /tmp
wget -q https://github.com/TriliumNext/Notes/releases/download/${RELEASE}/TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
tar -xf TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
cp -r trilium-linux-x64-server/* /opt/trilium/
mv trilium-linux-x64-server /opt/trilium
cp -r /opt/trilium_backup/{db,dump-db} /opt/trilium/
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated to ${RELEASE}"
msg_info "Cleaning up"
rm -rf TriliumNextNotes-linux-x64-${RELEASE}.tar.xz trilium-linux-x64-server
rm -rf /tmp/TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
rm -rf /opt/trilium_backup
msg_ok "Cleaned"
msg_info "Starting ${APP}"
@@ -54,6 +63,9 @@ function update_script() {
sleep 1
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}

View File

@@ -64,8 +64,8 @@ function InstallMethod({
if (key === "type") {
updatedMethod.script =
value === "alpine"
? `/${prev.type}/alpine-${prev.slug}.sh`
: `/${prev.type}/${prev.slug}.sh`;
? `${prev.type}/alpine-${prev.slug}.sh`
: `${prev.type}/${prev.slug}.sh`;
// Set OS to Alpine and reset version if type is alpine
if (value === "alpine") {

View File

@@ -76,8 +76,8 @@ export default function JSONGenerator() {
...method,
script:
method.type === "alpine"
? `/${updated.type}/alpine-${updated.slug}.sh`
: `/${updated.type}/${updated.slug}.sh`,
? `${updated.type}/alpine-${updated.slug}.sh`
: `${updated.type}/${updated.slug}.sh`,
}));
}

View File

@@ -0,0 +1,81 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
curl \
sudo \
mc \
apache2 \
redis \
php-{curl,date,json,mbstring,redis,sqlite3,sockets} \
libapache2-mod-php
msg_ok "Installed Dependencies"
msg_info "Installing barcodebuddy"
RELEASE=$(curl -s https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt
wget -q "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip"
unzip -q "v${RELEASE}.zip"
mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy
chown -R www-data:www-data /opt/barcodebuddy/data
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed barcodebuddy"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/barcodebuddy.service
[Unit]
Description=Run websocket server for barcodebuddy screen feature
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/php /opt/barcodebuddy/wsserver.php
StandardOutput=null
Restart=on-failure
User=www-data
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/apache2/sites-available/barcodebuddy.conf
<VirtualHost *:80>
ServerName barcodebuddy
DocumentRoot /opt/barcodebuddy
<Directory /opt/barcodebuddy>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/barcodebuddy_error.log
CustomLog /var/log/apache2/barcodebuddy_access.log combined
</VirtualHost>
EOF
systemctl enable -q --now barcodebuddy
$STD a2ensite barcodebuddy
$STD a2enmod rewrite
$STD a2dissite 000-default.conf
$STD systemctl reload apache2
msg_ok "Created Services"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf "/opt/v${RELEASE}.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

86
install/cosmos-install.sh Normal file
View File

@@ -0,0 +1,86 @@
#!/usr/bin/env bash
#Copyright (c) 2021-2025 community-scripts ORG
# Author: Michel Roegl-Brunner (michelroegl-brunner)
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
curl \
mc \
sudo \
snapraid \
avahi-daemon \
fdisk
msg_ok "Installed Dependencies"
msg_info "Install mergerfs"
MERGERFS_VERSION="2.40.2"
wget -q "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb"
$STD dpkg -i "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" || $STD apt-get install -f -y
rm "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb"
msg_ok "Installed mergerfs"
msg_info "Install Docker"
curl -fsSL https://get.docker.com -o get-docker.sh
$STD sh get-docker.sh
rm get-docker.sh
msg_ok "Installed Docker"
msg_info "Install Cosmos"
mkdir -p /opt/cosmos
LATEST_RELEASE=$(curl -s https://api.github.com/repos/azukaar/Cosmos-Server/releases/latest | grep "tag_name" | cut -d '"' -f 4)
ZIP_FILE="cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip"
curl -sL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}"
cd /opt/cosmos
unzip -o -q "${ZIP_FILE}"
LATEST_RELEASE_NO_V=${LATEST_RELEASE#v}
mv /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}/* /opt/cosmos/
rmdir /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}
chmod +x /opt/cosmos/cosmos
msg_ok "Installed Cosmos"
msg_info "Creating Service"
cat <<EOF > /etc/systemd/system/cosmos.service
[Unit]
Description=Cosmos Cloud service
ConditionFileIsExecutable=/opt/cosmos/start.sh
[Service]
StartLimitInterval=10
StartLimitBurst=5
ExecStart=/opt/cosmos/start.sh
WorkingDirectory=/opt/cosmos
Restart=always
RestartSec=2
EnvironmentFile=-/etc/sysconfig/CosmosCloud
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now cosmos.service
msg_info "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -f "/opt/cosmos/cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

116
install/searxng-install.sh Normal file
View File

@@ -0,0 +1,116 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/searxng/searxng
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \
redis-server \
build-essential \
libffi-dev \
libssl-dev \
curl \
sudo \
git \
mc
msg_ok "Installed Dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-{pip,venv,yaml,dev}
$STD pip install --upgrade pip setuptools wheel
$STD pip install pyyaml
msg_ok "Setup Python3"
msg_info "Setup SearXNG"
mkdir -p /usr/local/searxng /etc/searxng
useradd -d /etc/searxng searxng
chown searxng:searxng /usr/local/searxng /etc/searxng
$STD git clone https://github.com/searxng/searxng.git /usr/local/searxng/searxng-src
cd /usr/local/searxng/
sudo -u searxng python3 -m venv /usr/local/searxng/searx-pyenv
source /usr/local/searxng/searx-pyenv/bin/activate
$STD pip install --upgrade pip setuptools wheel
$STD pip install pyyaml
$STD pip install -e /usr/local/searxng/searxng-src
SECRET_KEY=$(openssl rand -hex 32)
cat <<EOF >/etc/searxng/settings.yml
# SearXNG settings
use_default_settings: true
general:
debug: false
instance_name: "SearXNG"
privacypolicy_url: false
contact_url: false
server:
bind_address: "0.0.0.0"
port: 8888
secret_key: "${SECRET_KEY}"
limiter: true
image_proxy: true
redis:
url: "redis://127.0.0.1:6379/0"
ui:
static_use_hash: true
enabled_plugins:
- 'Hash plugin'
- 'Self Information'
- 'Tracker URL remover'
- 'Ahmia blacklist'
search:
safe_search: 2
autocomplete: 'google'
engines:
- name: google
engine: google
shortcut: gg
use_mobile_ui: false
- name: duckduckgo
engine: duckduckgo
shortcut: ddg
display_error_messages: true
EOF
chown searxng:searxng /etc/searxng/settings.yml
chmod 640 /etc/searxng/settings.yml
msg_ok "Setup SearXNG"
msg_info "Set up web services"
cat <<EOF >/etc/systemd/system/searxng.service
[Unit]
Description=SearXNG service
After=network.target redis-server.service
Wants=redis-server.service
[Service]
Type=simple
User=searxng
Group=searxng
Environment="SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml"
ExecStart=/usr/local/searxng/searx-pyenv/bin/python -m searx.webapp
WorkingDirectory=/usr/local/searxng/searxng-src
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now searxng
msg_ok "Created Services"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get autoremove
$STD apt-get autoclean
msg_ok "Cleaned"

View File

@@ -2,8 +2,7 @@
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
@@ -14,23 +13,24 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y \
curl \
sudo \
mc
msg_ok "Installed Dependencies"
msg_info "Setup TriliumNext"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
msg_info "Installing TriliumNext"
wget -q https://github.com/TriliumNext/Notes/releases/download/${RELEASE}/TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
tar -xf TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
mv trilium-linux-x64-server /opt/trilium
msg_ok "Installed TriliumNext"
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Setup TriliumNext"
msg_info "Creating Service"
service_path="/etc/systemd/system/trilium.service"
echo "[Unit]
cat <<EOF >/etc/systemd/system/trilium.service
[Unit]
Description=Trilium Daemon
After=syslog.target network.target
@@ -43,7 +43,8 @@ TimeoutStopSec=20
Restart=always
[Install]
WantedBy=multi-user.target" >$service_path
WantedBy=multi-user.target
EOF
systemctl enable --now -q trilium
msg_ok "Created Service"
@@ -51,7 +52,7 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
rm -rf TriliumNextNotes-linux-x64-${RELEASE}.tar.xz
msg_ok "Cleaned"

View File

@@ -16,7 +16,8 @@ msg_info "Installing Dependencies"
$STD apt-get install -y \
curl \
mc \
sudo
sudo \
gnupg
msg_ok "Installed Dependencies"
msg_info "Setting up Zerotier-One"

39
json/barcode-buddy.json Normal file
View File

@@ -0,0 +1,39 @@
{
"name": "Barcode buddy",
"slug": "barcode-buddy",
"categories": [
24
],
"date_created": "2025-02-08",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://barcodebuddy-documentation.readthedocs.io/en/latest/",
"website": "https://github.com/Forceu/barcodebuddy",
"logo": null,
"description": "Barcode Buddy for Grocy is an extension for Grocy, allowing to pass barcodes to Grocy. It supports barcodes for products and chores. If you own a physical barcode scanner, it can be integrated, so that all barcodes scanned are automatically pushed to BarcodeBuddy/Grocy.",
"install_methods": [
{
"type": "default",
"script": "ct/barcode-buddy.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 3,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "After install enable the option \"Use Redis cache\" on the settings page.",
"type": "info"
}
]
}

35
json/cosmos.json Normal file
View File

@@ -0,0 +1,35 @@
{
"name": "Cosmos",
"slug": "cosmos",
"categories": [
2,
3
],
"date_created": "2025-02-07",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://cosmos-cloud.io/doc/1%20index/",
"website": "https://cosmos-cloud.io/",
"logo": "https://cosmos-cloud.io/Logo.png",
"description": "Cosmos Cloud is a self-hosting platform that automates maintenance and security. It offers an app marketplace, reverse proxy management, container control, VPN integration, real-time monitoring, and disk management. Security features include SSO, anti-DDoS, and encryption. It simplifies self-hosting for all users.",
"install_methods": [
{
"type": "default",
"script": "ct/cosmos.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -19,8 +19,8 @@
"script": "ct/peanut.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"ram": 3072,
"hdd": 7,
"os": "debian",
"version": "12"
}

34
json/searxng.json Normal file
View File

@@ -0,0 +1,34 @@
{
"name": "SearXNG",
"slug": "searxng",
"categories": [
0
],
"date_created": "2025-02-07",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8888,
"documentation": "https://docs.searxng.org/",
"website": "https://github.com/searxng/searxng",
"logo": "https://raw.githubusercontent.com/searxng/searxng/master/src/brand/searxng-wordmark.svg",
"description": "SearXNG is a free internet metasearch engine which aggregates results from up to 215 search services. Users are neither tracked nor profiled. Additionally, SearXNG can be used over Tor for online anonymity.",
"install_methods": [
{
"type": "default",
"script": "ct/searxng.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 7,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -16,7 +16,7 @@
"install_methods": [
{
"type": "default",
"script": "ct/debian.sh",
"script": "ct/zerotier-one.sh",
"resources": {
"cpu": 1,
"ram": 512,

View File

@@ -432,7 +432,7 @@ msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}."
msg_info "Getting URL for OpenWrt Disk Image"
response=$(curl -s https://openwrt.org)
stableversion=$(echo "$response" | sed -n 's/.*Current stable release - OpenWrt \([0-9.]\+\).*/\1/p')
stableversion=$(echo "$response" | sed -n 's/.*Current stable release - OpenWrt \([0-9.]\+\).*/\1/p' | head -n 1)
URL="https://downloads.openwrt.org/releases/$stableversion/targets/x86/64/openwrt-$stableversion-x86-64-generic-ext4-combined.img.gz"
sleep 2