Compare commits

...

31 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
6daeb7e288 Update CHANGELOG.md (#2577)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-23 23:47:19 +01:00
Miguel Torres
81b367df07 Fix: wrong text in description (#2576) 2025-02-23 23:41:52 +01:00
community-scripts-pr-app[bot]
0f410e11eb Update CHANGELOG.md (#2571)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-23 19:04:19 +01:00
community-scripts-pr-app[bot]
0a9dffb7a1 Update date in json (#2570)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-23 19:03:42 +01:00
community-scripts-pr-app[bot]
67b90f5582 Update .app files (#2572)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-23 19:02:56 +01:00
Miguel Vila Rodríguez
eaceba3ed3 New Script: Hev socks5 server (#2454)
* initial test

* fix port message and replace back github urls

* best practices

* final fixes

* add username ct

* last test, uyndo this commit

* final

* remove editor formatting chagnes from build.func

* trailing line

* remove comments

* get tarball, generate credentials

* test1

* arreglito

* arreglo clean up

* final

* reduce sys reqs

* typo

* url change

* remove backup and clean up
2025-02-23 18:44:04 +01:00
community-scripts-pr-app[bot]
d7dceede4b Update CHANGELOG.md (#2567)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-23 18:38:45 +01:00
community-scripts-pr-app[bot]
9c867b467a Update date in json (#2568)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-23 18:38:01 +01:00
community-scripts-pr-app[bot]
d35a01f5c4 Update .app files (#2569)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-23 18:37:33 +01:00
Slaviša Arežina
1e2f953a8f Remove setting NAT as its already in PostUp/Down (#2510) 2025-02-23 18:36:26 +01:00
Slaviša Arežina
2937516869 New Script: bolt.diy (#2528)
* Add bolt.diy script

* fixes
2025-02-23 18:35:44 +01:00
community-scripts-pr-app[bot]
92d2065f1d Update CHANGELOG.md (#2550)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-23 18:06:29 +01:00
bvdberg01
13c2f50f19 Fix: URL's in CONTRIBUTING.md (#2552) 2025-02-22 12:26:17 +01:00
Michael Casey
dccc45d492 Fix a few broken icon links (#2548) 2025-02-22 10:52:45 +01:00
community-scripts-pr-app[bot]
a9362e0b4a Update CHANGELOG.md (#2545)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-21 16:32:17 +01:00
jaminmc
10c46723fe Add ZFS to Podman. Now it works on ZFS! (#2526)
* Allow Podman to work on ZFS containers

* Fix ZFS for Podman-Create missing folder.

* Added option to install Portainer or Portainer agent in Podman

* Fix source for Podman Homeassistant so Portainer and other containers can be installed.

* fix Podman not creating storage/volumes, until one exists.
2025-02-21 16:45:30 +02:00
community-scripts-pr-app[bot]
666e170f7d Update CHANGELOG.md (#2536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-21 10:46:48 +01:00
CanbiZ
109c48694e Update changelog-pr.yml 2025-02-21 10:45:58 +01:00
CanbiZ
d0cd58e923 Update changelog-pr.yml 2025-02-21 10:44:54 +01:00
CanbiZ
16b8bbfca6 Update changelog-pr.yml 2025-02-21 10:42:01 +01:00
CanbiZ
209aa220b0 Update changelog-pr.yml 2025-02-21 10:40:28 +01:00
CanbiZ
dd8db43dea General Cleanup & Moving Files / Folders (#2532) 2025-02-21 10:31:17 +01:00
CanbiZ
7d40e148e9 Update autolabeler.yml 2025-02-21 10:04:16 +01:00
CanbiZ
ef6eeea608 Update changelog-pr.yml 2025-02-21 08:29:30 +01:00
CanbiZ
0c13b71466 Update changelog-pr.yml 2025-02-21 08:24:37 +01:00
community-scripts-pr-app[bot]
e1c25a3c8e Update CHANGELOG.md (#2531)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-21 08:23:24 +01:00
CanbiZ
e5bfb8f8a3 Update changelog-pr-config.json 2025-02-21 08:21:27 +01:00
CanbiZ
4dfcd32d92 Update changelog-pr-config.json 2025-02-21 08:16:25 +01:00
CanbiZ
167deb5d7f Update autolabeler.yml 2025-02-21 08:15:38 +01:00
CanbiZ
8cb3007d66 Update autolabeler.yml 2025-02-21 08:13:54 +01:00
CanbiZ
49bcd30e77 Fix: Tianji - Downgrade Node (#2530) 2025-02-21 08:09:50 +01:00
34 changed files with 574 additions and 56 deletions

View File

@@ -40,27 +40,27 @@ Before contributing, please ensure that you have the following setup:
- [Shell Format](https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format)
### Important Notes
- Use [AppName.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/ct/AppName.sh) and [AppName-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/install/AppName-install.sh) as templates when creating new scripts.
- Use [AppName.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh) and [AppName-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh) as templates when creating new scripts.
---
# 🚀 The Application Script (ct/AppName.sh)
- You can find all coding standards, as well as the structure for this file [here](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/ct/AppName.md).
- You can find all coding standards, as well as the structure for this file [here](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md).
- These scripts are responsible for container creation, setting the necessary variables and handling the update of the application once installed.
---
# 🛠 The Installation Script (install/AppName-install.sh)
- You can find all coding standards, as well as the structure for this file [here](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/install/AppName-install.md).
- You can find all coding standards, as well as the structure for this file [here](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.md).
- These scripts are responsible for the installation of the application.
---
## 🚀 Building Your Own Scripts
Start with the [template script](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/install/AppName-install.sh)
Start with the [template script](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh)
---
@@ -99,8 +99,8 @@ Open a Pull Request from your feature branch to the main repository branch. You
## 📚 Pages
- [CT Template: AppName.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/ct/AppName.sh)
- [Install Template: AppName-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/install/AppName-install.sh)
- [JSON Template: AppName.json](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_GUIDE/json/AppName.json)
- [CT Template: AppName.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh)
- [Install Template: AppName-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh)
- [JSON Template: AppName.json](https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/json/AppName.json)

View File

@@ -4,7 +4,7 @@
"labels": ["breaking change"]
},
{
"title": " New Scripts",
"title": "🆕 New Scripts",
"labels": ["new script"]
},
{
@@ -12,25 +12,29 @@
"labels": ["update script"]
},
{
"title": "🆕 Features",
"labels": ["new feature"]
"title": "🐞 Bug Fixes (Updated Scripts)",
"labels": ["update script", "bugfix"]
},
{
"title": "✨ Feature Updates (Updated Scripts)",
"labels": ["update script", "feature"]
},
{
"title": "✨ New Features",
"labels": ["feature"]
},
{
"title": "🌐 Website",
"labels": ["website"]
},
{
"title": "🐞 Bug Fixes",
"labels": ["bug fix"]
"title": "📡 API",
"labels": ["api"]
},
{
"title": "🧰 Maintenance",
"labels": ["maintenance"]
},
{
"title": "📡 API",
"labels": ["api"]
},
{
"title": "❔ Unlabelled",
"labels": []

View File

@@ -19,7 +19,7 @@ jobs:
- name: Install minimatch
run: npm install minimatch
- name: Label PR based on file changes
- name: Label PR based on file changes and PR template
uses: actions/github-script@v7
with:
script: |
@@ -32,6 +32,12 @@ jobs:
const autolabelerConfig = JSON.parse(fileContent);
const prNumber = context.payload.pull_request.number;
const prBody = context.payload.pull_request.body.toLowerCase();
// Label-Sammlung (um doppelte API-Calls zu vermeiden)
let labelsToAdd = new Set();
// Prüfe Datei-Änderungen
const prListFilesResponse = await github.rest.pulls.listFiles({
owner: context.repo.owner,
repo: context.repo.repo,
@@ -39,8 +45,6 @@ jobs:
});
const prFiles = prListFilesResponse.data;
let labelsToAdd = new Set();
for (const [label, rules] of Object.entries(autolabelerConfig)) {
const shouldAddLabel = prFiles.some((prFile) => {
return rules.some((rule) => {
@@ -57,38 +61,26 @@ jobs:
}
}
if (labelsToAdd.size > 0) {
console.log(`Adding labels ${Array.from(labelsToAdd).join(", ")} to PR ${prNumber}`);
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
labels: Array.from(labelsToAdd),
});
}
- name: Label PR based on PR template selections
uses: actions/github-script@v7
with:
script: |
const prBody = context.payload.pull_request.body.toLowerCase();
const prNumber = context.payload.pull_request.number;
const labelMappings = {
// Prüfe PR-Template Checkboxen mit den korrekten Labels
const templateLabelMappings = {
"🐞 bug fix": "bugfix",
"✨ new feature": "new feature",
"✨ new feature": "feature",
"💥 breaking change": "breaking change",
"🆕 new script": "new script"
};
let labelsToAdd = new Set();
for (const [checkbox, label] of Object.entries(labelMappings)) {
for (const [checkbox, label] of Object.entries(templateLabelMappings)) {
const regex = new RegExp(`- \\[(.*?)\\] ${checkbox}`, "i");
if (regex.test(prBody)) {
const match = prBody.match(regex);
if (match && match[1].trim() !== "") { // Checkbox ist gesetzt
labelsToAdd.add(label);
}
}
// Debugging: Anzeigen, welche Labels tatsächlich erkannt wurden
console.log(`Labels to add: ${Array.from(labelsToAdd).join(", ")}`);
// Labels setzen, falls neue erkannt wurden
if (labelsToAdd.size > 0) {
console.log(`Adding labels ${Array.from(labelsToAdd).join(", ")} to PR ${prNumber}`);
await github.rest.issues.addLabels({

View File

@@ -17,6 +17,48 @@ 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-23
### Changes
### 🆕 New Scripts
- New Script: Hev socks5 server [@miviro](https://github.com/miviro) ([#2454](https://github.com/community-scripts/ProxmoxVE/pull/2454))
- New Script: bolt.diy [@tremor021](https://github.com/tremor021) ([#2528](https://github.com/community-scripts/ProxmoxVE/pull/2528))
### 🚀 Updated Scripts
- Fix: Wireguard - Remove setting NAT as its already in PostUp/Down [@tremor021](https://github.com/tremor021) ([#2510](https://github.com/community-scripts/ProxmoxVE/pull/2510))
### 🌐 Website
- Fix: Home Assistant Core - fixed wrong text in application description on website [@TMigue](https://github.com/TMigue) ([#2576](https://github.com/community-scripts/ProxmoxVE/pull/2576))
## 2025-02-22
### Changes
### 🌐 Website
- Fix a few broken icon links [@Snarkenfaugister](https://github.com/Snarkenfaugister) ([#2548](https://github.com/community-scripts/ProxmoxVE/pull/2548))
### 🧰 Maintenance
- Fix: URL's in CONTRIBUTING.md [@bvdberg01](https://github.com/bvdberg01) ([#2552](https://github.com/community-scripts/ProxmoxVE/pull/2552))
## 2025-02-21
### Changes
### 🚀 Updated Scripts
- Add ZFS to Podman. Now it works on ZFS! [@jaminmc](https://github.com/jaminmc) ([#2526](https://github.com/community-scripts/ProxmoxVE/pull/2526))
- Fix: Tianji - Downgrade Node [@MickLesk](https://github.com/MickLesk) ([#2530](https://github.com/community-scripts/ProxmoxVE/pull/2530))
### 🧰 Maintenance
- [gh] General Cleanup & Moving Files / Folders [@MickLesk](https://github.com/MickLesk) ([#2532](https://github.com/community-scripts/ProxmoxVE/pull/2532))
## 2025-02-20
### Changes

View File

@@ -19,10 +19,10 @@
<a href="https://ko-fi.com/community_scripts">
<img src="https://img.shields.io/badge/Support-FF5F5F?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Donate" />
</a>
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md">
<img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
</a>
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md">
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/USER_SUBMITTED_GUIDES.md">
<img src="https://img.shields.io/badge/Guides-0077b5?style=for-the-badge&logo=read-the-docs&logoColor=white" alt="Guides" />
</a>
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">

71
ct/boltdiy.sh Normal file
View File

@@ -0,0 +1,71 @@
#!/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: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/stackblitz-labs/bolt.diy/
APP="boltdiy"
TAGS="code;ai"
var_cpu="2"
var_ram="3072"
var_disk="6"
var_os="debian"
var_version="12"
var_unprivileged="1"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/bolt.diy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/boltdiy_version.txt)" ]] || [[ ! -f /opt/boltdiy_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop boltdiy
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
temp_dir=$(mktemp -d)
temp_file=$(mktemp)
cd $temp_dir
wget -q "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file
tar xzf $temp_file
cp -rf bolt.diy-${RELEASE}/* /opt/bolt.diy
cd /opt/bolt.diy
$STD pnpm install
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start boltdiy
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_file
rm -rf $temp_dir
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/boltdiy_version.txt
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}:5173${CL}"

6
ct/headers/boltdiy Normal file
View File

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

View File

@@ -0,0 +1,6 @@
__ __ ______
/ /_ ___ _ __ _________ _____/ /_______/ ____/ ________ ______ _____ _____
/ __ \/ _ \ | / /_____/ ___/ __ \/ ___/ //_/ ___/___ \______/ ___/ _ \/ ___/ | / / _ \/ ___/
/ / / / __/ |/ /_____(__ ) /_/ / /__/ ,< (__ )___/ /_____(__ ) __/ / | |/ / __/ /
/_/ /_/\___/|___/ /____/\____/\___/_/|_/____/_____/ /____/\___/_/ |___/\___/_/

64
ct/hev-socks5-server.sh Normal file
View File

@@ -0,0 +1,64 @@
#!/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: miviro
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/heiher/hev-socks5-server
APP="hev-socks5-server"
TAGS="proxy,socks5"
var_cpu="1"
var_ram="512"
var_disk="2"
var_os="debian"
var_version="12"
var_unprivileged="1"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /opt/${APP} ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/heiher/${APP}/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop $APP
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
curl -L -o "${APP}" "https://github.com/heiher/${APP}/releases/download/${RELEASE}/hev-socks5-server-linux-x86_64"
mv ${APP} /opt/${APP}
chmod +x /opt/${APP}
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start $APP
msg_ok "Started $APP"
echo "${RELEASE}" >/opt/${APP}_version.txt
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 with a SOCKS5 client using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}${IP}:1080${CL}"
echo -e "${INFO}${YW} and the credentials stored at /root/hev.creds${CL}"

View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/stackblitz-labs/bolt.diy/
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 \
gnupg \
git
msg_ok "Installed Dependencies"
msg_info "Setup Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Setup Node.js Repository"
msg_info "Setup Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm
msg_ok "Setup Node.js"
msg_info "Setup bolt.diy"
temp_file=$(mktemp)
RELEASE=$(curl -s https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file
tar xzf $temp_file
mv bolt.diy-${RELEASE} /opt/bolt.diy
cd /opt/bolt.diy
$STD pnpm install
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Setup bolt.diy"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/boltdiy.service
[Unit]
Description=bolt.diy Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/bolt.diy
ExecStart=/usr/bin/pnpm run dev --host
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now boltdiy
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -f $temp_file
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -0,0 +1,61 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: miviro
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/heiher/hev-socks5-server
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
msg_ok "Installed Dependencies"
msg_info "Setup ${APPLICATION}"
RELEASE=$(curl -s https://api.github.com/repos/heiher/${APPLICATION}/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -L -o "${APPLICATION}" "https://github.com/heiher/${APPLICATION}/releases/download/${RELEASE}/hev-socks5-server-linux-x86_64"
mv ${APPLICATION} /opt/${APPLICATION}
chmod +x /opt/${APPLICATION}
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
curl -L -o "main.yml" "https://raw.githubusercontent.com/heiher/${APPLICATION}/refs/heads/master/conf/main.yml"
sed -i 's/^#auth:/auth:/; s/^# file: conf\/auth.txt/ file: \/root\/hev.creds/' main.yml
mkdir -p /etc/${APPLICATION}
USERNAME="admin"
PASSWORD=$(openssl rand -base64 16)
MARK="0"
echo "$USERNAME $PASSWORD $MARK" > /root/hev.creds
mv main.yml /etc/${APPLICATION}/main.yml
msg_ok "Setup ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/${APPLICATION}.service
[Unit]
Description=${APPLICATION} Service
After=network.target
[Service]
ExecStart=/opt/${APPLICATION} /etc/${APPLICATION}/main.yml
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now ${APPLICATION}.service
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -19,11 +19,72 @@ $STD apt-get install -y sudo
$STD apt-get install -y mc
msg_ok "Installed Dependencies"
get_latest_release() {
curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4
}
PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer")
PORTAINER_AGENT_LATEST_VERSION=$(get_latest_release "portainer/agent")
if $STD mount | grep 'on / type zfs' > null && echo "ZFS"; then
msg_info "Enabling ZFS support."
mkdir -p /etc/containers
cat <<'EOF' >/usr/local/bin/overlayzfsmount
#!/bin/sh
exec /bin/mount -t overlay overlay "$@"
EOF
chmod +x /usr/local/bin/overlayzfsmount
cat <<'EOF' >/etc/containers/storage.conf
[storage]
driver = "overlay"
runroot = "/run/containers/storage"
graphroot = "/var/lib/containers/storage"
[storage.options]
pull_options = {enable_partial_images = "false", use_hard_links = "false", ostree_repos=""}
mount_program = "/usr/local/bin/overlayzfsmount"
[storage.options.overlay]
mountopt = "nodev"
EOF
fi
msg_info "Installing Podman"
$STD apt-get -y install podman
$STD systemctl enable --now podman.socket
echo -e 'unqualified-search-registries=["docker.io"]' >> /etc/containers/registries.conf
msg_ok "Installed Podman"
read -r -p "Would you like to add Portainer? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
podman volume create portainer_data >/dev/null
$STD podman run -d \
-p 8000:8000 \
-p 9443:9443 \
--name=portainer \
--restart=always \
-v /run/podman/podman.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
msg_ok "Installed Portainer $PORTAINER_LATEST_VERSION"
else
read -r -p "Would you like to add the Portainer Agent? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION"
podman volume create temp >/dev/null
podman volume remove temp >/dev/null
$STD podman run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /run/podman/podman.sock:/var/run/docker.sock \
-v /var/lib/containers/storage/volumes:/var/lib/docker/volumes \
portainer/agent
msg_ok "Installed Portainer Agent $PORTAINER_AGENT_LATEST_VERSION"
fi
fi
msg_info "Pulling Home Assistant Image"
$STD podman pull docker.io/homeassistant/home-assistant:stable
msg_ok "Pulled Home Assistant Image"

View File

@@ -19,12 +19,73 @@ $STD apt-get install -y sudo
$STD apt-get install -y mc
msg_ok "Installed Dependencies"
get_latest_release() {
curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4
}
PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer")
PORTAINER_AGENT_LATEST_VERSION=$(get_latest_release "portainer/agent")
if $STD mount | grep 'on / type zfs' > null && echo "ZFS"; then
msg_info "Enabling ZFS support."
mkdir -p /etc/containers
cat <<'EOF' >/usr/local/bin/overlayzfsmount
#!/bin/sh
exec /bin/mount -t overlay overlay "$@"
EOF
chmod +x /usr/local/bin/overlayzfsmount
cat <<'EOF' >/etc/containers/storage.conf
[storage]
driver = "overlay"
runroot = "/run/containers/storage"
graphroot = "/var/lib/containers/storage"
[storage.options]
pull_options = {enable_partial_images = "false", use_hard_links = "false", ostree_repos=""}
mount_program = "/usr/local/bin/overlayzfsmount"
[storage.options.overlay]
mountopt = "nodev"
EOF
fi
msg_info "Installing Podman"
$STD apt-get -y install podman
$STD systemctl enable --now podman.socket
echo -e 'unqualified-search-registries=["docker.io"]' >> /etc/containers/registries.conf
msg_ok "Installed Podman"
read -r -p "Would you like to add Portainer? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
podman volume create portainer_data >/dev/null
$STD podman run -d \
-p 8000:8000 \
-p 9443:9443 \
--name=portainer \
--restart=always \
-v /run/podman/podman.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
msg_ok "Installed Portainer $PORTAINER_LATEST_VERSION"
else
read -r -p "Would you like to add the Portainer Agent? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION"
podman volume create temp >/dev/null
podman volume remove temp >/dev/null
$STD podman run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /run/podman/podman.sock:/var/run/docker.sock \
-v /var/lib/containers/storage/volumes:/var/lib/docker/volumes \
portainer/agent
msg_ok "Installed Portainer Agent $PORTAINER_AGENT_LATEST_VERSION"
fi
fi
motd_ssh
customize

View File

@@ -34,7 +34,7 @@ msg_ok "Installed Dependencies"
msg_info "Installing Node.js"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm@9.7.1

View File

@@ -22,7 +22,6 @@ msg_ok "Installed Dependencies"
msg_info "Installing WireGuard"
$STD apt-get install -y wireguard wireguard-tools net-tools iptables
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null
$STD netfilter-persistent reload
msg_ok "Installed WireGuard"

34
json/boltdiy.json Normal file
View File

@@ -0,0 +1,34 @@
{
"name": "bolt.diy",
"slug": "boltdiy",
"categories": [
20
],
"date_created": "2025-02-23",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 5173,
"documentation": "https://stackblitz-labs.github.io/bolt.diy/",
"website": "https://github.com/stackblitz-labs/bolt.diy",
"logo": "https://github.com/stackblitz-labs/bolt.diy/raw/refs/heads/main/icons/logo-text.svg",
"description": "The official open source version of Bolt.new (previously known as oTToDev and bolt.new ANY LLM), which allows you to choose the LLM that you use for each prompt! Currently, you can use OpenAI, Anthropic, Ollama, OpenRouter, Gemini, LMStudio, Mistral, xAI, HuggingFace, DeepSeek, or Groq models - and it is easily extended to use any other model supported by the Vercel AI SDK!",
"install_methods": [
{
"type": "default",
"script": "ct/boltdiy.sh",
"resources": {
"cpu": 2,
"ram": 3072,
"hdd": 6,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -11,7 +11,7 @@
"interface_port": 8080,
"documentation": "https://github.com/glanceapp/glance/blob/main/docs/configuration.md",
"website": "https://github.com/glanceapp/glance",
"logo": "https://github.com/glanceapp/glance/blob/main/internal/assets/static/app-icon.png?raw=true",
"logo": "https://raw.githubusercontent.com/glanceapp/glance/refs/heads/main/internal/glance/static/app-icon.png",
"description": "A self-hosted dashboard that puts all your feeds in one place",
"install_methods": [
{

View File

@@ -0,0 +1,43 @@
{
"name": "hev-socks5-server",
"slug": "hev-socks5-server",
"categories": [
4
],
"date_created": "2025-02-23",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 1080,
"documentation": null,
"website": "https://github.com/heiher/hev-socks5-server",
"logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/405px-Tux.svg.png",
"description": "HevSocks5Server is a simple, lightweight socks5 server.",
"install_methods": [
{
"type": "default",
"script": "ct/hev-socks5-server.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Default credentials: `cat /root/hev.creds`",
"type": "info"
},
{
"text": "Config stored at `/etc/hev-socks5-server/main.yml`",
"type": "info"
}
]
}

View File

@@ -12,7 +12,7 @@
"documentation": "https://www.home-assistant.io/docs/",
"website": "https://www.home-assistant.io/",
"logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4",
"description": "A standalone installation of Home Assistant Core refers to a setup where the Home Assistant Core software is installed directly on a device or operating system, without the use of Docker containers. This provides a simpler, but less flexible and scalable solution, as the software is tightly coupled with the underlying system.\r\n\r\n\ud83d\udec8 If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"description": "A standalone installation of Home Assistant Core refers to a setup where the Home Assistant Core software is installed directly on a device or operating system, without the use of Docker containers. This provides a simpler, but less flexible and scalable solution, as the software is tightly coupled with the underlying system.",
"install_methods": [
{
"type": "default",

View File

@@ -11,7 +11,7 @@
"interface_port": 80,
"documentation": "https://stonith404.github.io/pocket-id/introduction",
"website": "https://github.com/stonith404/pocket-id",
"logo": "https://raw.githubusercontent.com/stonith404/pocket-id/refs/heads/main/docs/static/img/pocket-id.png",
"logo": "https://raw.githubusercontent.com/pocket-id/pocket-id/refs/heads/main/backend/resources/images/logoDark.svg",
"description": "Pocket ID is a simple OIDC provider that allows users to authenticate with their passkeys to your services.",
"install_methods": [
{

View File

@@ -31,10 +31,6 @@
"password": null
},
"notes": [
{
"text": "Doesn't work with ZFS",
"type": "warning"
},
{
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"type": "warning"
@@ -42,6 +38,10 @@
{
"text": "config path: `/var/lib/containers/storage/volumes/hass_config/_data`",
"type": "info"
},
{
"text": "Options to Install Portainer or Portainer Agent",
"type": "warning"
}
]
}

View File

@@ -32,7 +32,7 @@
},
"notes": [
{
"text": "Doesn't work with ZFS",
"text": "Options to Install Portainer or Portainer Agent",
"type": "warning"
}
]

View File

@@ -11,7 +11,7 @@
"interface_port": 8080,
"documentation": null,
"website": "https://github.com/Stirling-Tools/Stirling-PDF",
"logo": "https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling-pdf.png",
"logo": "https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/refs/heads/main/docs/stirling.svg",
"description": "Stirling-PDF is a powerful locally hosted web based PDF manipulation tool that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more.",
"install_methods": [
{