mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-15 19:53:31 +01:00
Compare commits
32 Commits
2025-10-08
...
2025-10-10
| Author | SHA1 | Date | |
|---|---|---|---|
| 58f56851f2 | |||
| ab6974186c | |||
| 578b9fc7de | |||
| 67c7c32b7b | |||
| ca6bcfc087 | |||
| fc644d8434 | |||
| 3e0ffc193b | |||
| 21513cffbc | |||
| 2d838629eb | |||
| a672b22650 | |||
| 3f02934bf5 | |||
| 162ac5b066 | |||
| f58b58806b | |||
| e12b9383a9 | |||
| 62feaf76f4 | |||
| 5aeb235768 | |||
| 1ae9543eec | |||
| efecfdfb2d | |||
| 4b5fc75ee1 | |||
| f39b17ad7a | |||
| 1f5a83732e | |||
| 8d058f78d5 | |||
| 4515070a97 | |||
| 8c6b5c3534 | |||
| d07affa368 | |||
| b7511fa41f | |||
| 0f11893fd2 | |||
| 1045d75f3e | |||
| 23b9f54f0f | |||
| 9884f2a9f9 | |||
| e7b2b86648 | |||
| ec1391c233 |
47
.github/workflows/close_template_issue.yml
generated
vendored
Normal file
47
.github/workflows/close_template_issue.yml
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
name: Auto-Close Wrong Template Issues
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
close_tteck_issues:
|
||||
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Auto-close if wrong Template issue detected
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const issue = context.payload.issue;
|
||||
const content = `${issue.title}\n${issue.body}`;
|
||||
const issueNumber = issue.number;
|
||||
|
||||
// Check for tteck script mention
|
||||
if (content.includes("Template debian-13-standard_13.1-2_amd64.tar.zst [local]") || content.includes("Container creation failed. Checking if template is corrupted or incomplete.") || content.includes("Template is valid, but container creation still failed.")){
|
||||
const message = `Hello, it looks like you are referencing a container creation issue!.
|
||||
|
||||
We get many simmilar issues with this topic, so please check disscusion #8126.
|
||||
If this did not solve your problem, please reopen this issue.
|
||||
|
||||
This issue is being closed automatically by a bot.`;
|
||||
|
||||
await github.rest.issues.createComment({
|
||||
...context.repo,
|
||||
issue_number: issueNumber,
|
||||
body: message
|
||||
});
|
||||
|
||||
// Optionally apply a label like "not planned"
|
||||
await github.rest.issues.addLabels({
|
||||
...context.repo,
|
||||
issue_number: issueNumber,
|
||||
labels: ["not planned"]
|
||||
});
|
||||
|
||||
// Close the issue
|
||||
await github.rest.issues.update({
|
||||
...context.repo,
|
||||
issue_number: issueNumber,
|
||||
state: "closed"
|
||||
});
|
||||
}
|
||||
35
CHANGELOG.md
35
CHANGELOG.md
@ -10,8 +10,43 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-10-11
|
||||
|
||||
## 2025-10-10
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Prometheus-Blackbox-Exporter ([#8255](https://github.com/community-scripts/ProxmoxVE/pull/8255))
|
||||
- SonarQube ([#8256](https://github.com/community-scripts/ProxmoxVE/pull/8256))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Unifi installation script fix [@knightfall](https://github.com/knightfall) ([#8242](https://github.com/community-scripts/ProxmoxVE/pull/8242))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Docmost: Fix env variables [@tremor021](https://github.com/tremor021) ([#8244](https://github.com/community-scripts/ProxmoxVE/pull/8244))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Harmonize Service MSG-Blocks [@MickLesk](https://github.com/MickLesk) ([#8233](https://github.com/community-scripts/ProxmoxVE/pull/8233))
|
||||
|
||||
## 2025-10-09
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- New Script: rwMarkable ([#8215](https://github.com/community-scripts/ProxmoxVE/pull/8215))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Alpine-Tinyauth: Fixes for v4 release [@tremor021](https://github.com/tremor021) ([#8225](https://github.com/community-scripts/ProxmoxVE/pull/8225))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Bump U-T Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8227](https://github.com/community-scripts/ProxmoxVE/pull/8227))
|
||||
|
||||
## 2025-10-08
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
@ -32,18 +32,18 @@ function update_script() {
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ -f /opt/actualbudget-data/config.json ]]; then
|
||||
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop actualbudget
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
$STD npm update -g @actual-app/sync-server
|
||||
echo "${RELEASE}" >/opt/actualbudget_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start actualbudget
|
||||
msg_ok "Restarted ${APP}"
|
||||
msg_ok "Started Service"
|
||||
else
|
||||
msg_info "${APP} is already up to date"
|
||||
fi
|
||||
|
||||
@ -24,23 +24,23 @@ function update_script() {
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/redlib ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Updating Alpine Packages"
|
||||
$STD apk -U upgrade
|
||||
msg_ok "Updated Alpine Packages"
|
||||
|
||||
msg_info "Stopping ${APP} Service"
|
||||
msg_info "Stopping Service"
|
||||
$STD rc-service redlib stop
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
msg_info "Starting Service"
|
||||
$STD rc-service redlib start
|
||||
msg_ok "Started ${APP} Service"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_ok "Update Successful"
|
||||
exit
|
||||
|
||||
@ -29,9 +29,9 @@ function update_script() {
|
||||
fi
|
||||
RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)"
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop apache-tika
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
cd /opt/apache-tika
|
||||
@ -41,9 +41,9 @@ function update_script() {
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start apache-tika
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf /opt/apache-tika/tika-server-standard-prev-version.jar
|
||||
msg_ok "Cleanup Completed"
|
||||
@ -61,4 +61,4 @@ 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}:9998${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9998${CL}"
|
||||
|
||||
@ -29,15 +29,15 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "autobrr" "autobrr/autobrr"; then
|
||||
msg_info "Stopping ${APP} LXC"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop autobrr
|
||||
msg_ok "Stopped ${APP} LXC"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz"
|
||||
|
||||
msg_info "Starting ${APP} LXC"
|
||||
msg_info "Starting Service"
|
||||
systemctl start autobrr
|
||||
msg_ok "Started ${APP} LXC"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -29,9 +29,9 @@ function update_script() {
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/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 ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop backrest
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
temp_file=$(mktemp)
|
||||
@ -42,9 +42,9 @@ function update_script() {
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start backrest
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f "$temp_file"
|
||||
|
||||
@ -27,9 +27,9 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop cps
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/kepubify
|
||||
@ -121,9 +121,9 @@ function update_script() {
|
||||
$STD pip install --upgrade calibreweb
|
||||
fi
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start cps
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
@ -135,4 +135,4 @@ 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}:8083${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
|
||||
|
||||
@ -28,15 +28,15 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "cleanuparr" "Cleanuparr/Cleanuparr"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop cleanuparr
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start cleanuparr
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -29,9 +29,9 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "commafeed" "Athou/commafeed"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop commafeed
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
if ! [[ $(dpkg -s rsync 2>/dev/null) ]]; then
|
||||
msg_info "Installing Dependencies"
|
||||
@ -54,9 +54,9 @@ function update_script() {
|
||||
msg_ok "Restored data"
|
||||
fi
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start commafeed
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "dashy" "Lissy93/dashy"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop dashy
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up conf.yml"
|
||||
cd ~
|
||||
|
||||
@ -32,9 +32,9 @@ function update_script() {
|
||||
export NODE_OPTIONS="--max_old_space_size=4096"
|
||||
|
||||
if check_for_gh_release "docmost" "docmost/docmost"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop docmost
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up data"
|
||||
cp /opt/docmost/.env /opt/
|
||||
@ -52,9 +52,9 @@ function update_script() {
|
||||
$STD pnpm build
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start docmost
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -29,9 +29,9 @@ function update_script() {
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/documenso/documenso/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 ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop documenso
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cp /opt/documenso/.env /opt/
|
||||
@ -53,9 +53,9 @@ function update_script() {
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start documenso
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf /opt/v${RELEASE}.zip
|
||||
|
||||
@ -29,15 +29,15 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "emby" "MediaBrowser/Emby.Releases"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop emby-server
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start emby-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop esphomeDashboard
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
VENV_PATH="/opt/esphome/.venv"
|
||||
ESPHOME_BIN="${VENV_PATH}/bin/esphome"
|
||||
@ -78,9 +78,9 @@ EOF
|
||||
ln -s /opt/esphome/.venv/bin/esphome /usr/local/bin/esphome
|
||||
msg_ok "Linked esphome binary"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start esphomeDashboard
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
@ -27,13 +27,13 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop forgejo
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
|
||||
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
|
||||
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
|
||||
rm -rf /opt/forgejo/*
|
||||
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
|
||||
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
|
||||
@ -44,9 +44,9 @@ curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/f
|
||||
rm -rf forgejo-$RELEASE-linux-amd64
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start forgejo
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
@ -58,4 +58,4 @@ 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}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||
|
||||
@ -28,15 +28,15 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "gokapi" "Forceu/Gokapi"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop gokapi
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start gokapi
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -28,16 +28,16 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "gotify" "gotify/server"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop gotify
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "gotify" "gotify/server" "prebuild" "latest" "/opt/gotify" "gotify-linux-amd64.zip"
|
||||
chmod +x /opt/gotify/gotify-linux-amd64
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start gotify
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -30,9 +30,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "grist" "gristlabs/grist-core"; then
|
||||
msg_info "Stopping ${APP} Service"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop grist
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating backup"
|
||||
rm -rf /opt/grist_bak
|
||||
@ -52,9 +52,9 @@ function update_script() {
|
||||
$STD yarn run install:python
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
msg_info "Starting Service"
|
||||
systemctl start grist
|
||||
msg_ok "Started ${APP} Service"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
|
||||
6
ct/headers/prometheus-blackbox-exporter
Normal file
6
ct/headers/prometheus-blackbox-exporter
Normal file
@ -0,0 +1,6 @@
|
||||
____ __ __ ____ __ __ __ ______ __
|
||||
/ __ \_________ ____ ___ ___ / /_/ /_ ___ __ _______ / __ )/ /___ ______/ /__/ /_ ____ _ __ / ____/ ______ ____ _____/ /____ _____
|
||||
/ /_/ / ___/ __ \/ __ `__ \/ _ \/ __/ __ \/ _ \/ / / / ___/_____/ __ / / __ `/ ___/ //_/ __ \/ __ \| |/_/_____/ __/ | |/_/ __ \/ __ \/ ___/ __/ _ \/ ___/
|
||||
/ ____/ / / /_/ / / / / / / __/ /_/ / / / __/ /_/ (__ )_____/ /_/ / / /_/ / /__/ ,< / /_/ / /_/ /> </_____/ /____> </ /_/ / /_/ / / / /_/ __/ /
|
||||
/_/ /_/ \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/ /_____/_/\__,_/\___/_/|_/_.___/\____/_/|_| /_____/_/|_/ .___/\____/_/ \__/\___/_/
|
||||
/_/
|
||||
6
ct/headers/rwmarkable
Normal file
6
ct/headers/rwmarkable
Normal file
@ -0,0 +1,6 @@
|
||||
__ ___ __ __ __
|
||||
______ __/ |/ /___ ______/ /______ _/ /_ / /__
|
||||
/ ___/ | /| / / /|_/ / __ `/ ___/ //_/ __ `/ __ \/ / _ \
|
||||
/ / | |/ |/ / / / / /_/ / / / ,< / /_/ / /_/ / / __/
|
||||
/_/ |__/|__/_/ /_/\__,_/_/ /_/|_|\__,_/_.___/_/\___/
|
||||
|
||||
6
ct/headers/sonarqube
Normal file
6
ct/headers/sonarqube
Normal file
@ -0,0 +1,6 @@
|
||||
_____ ____ __
|
||||
/ ___/____ ____ ____ ______/ __ \__ __/ /_ ___
|
||||
\__ \/ __ \/ __ \/ __ `/ ___/ / / / / / / __ \/ _ \
|
||||
___/ / /_/ / / / / /_/ / / / /_/ / /_/ / /_/ / __/
|
||||
/____/\____/_/ /_/\__,_/_/ \___\_\__,_/_.___/\___/
|
||||
|
||||
@ -32,16 +32,16 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "headscale" "juanfont/headscale"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop headscale
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary"
|
||||
fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl enable -q --now headscale
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -29,10 +29,10 @@ function update_script() {
|
||||
fi
|
||||
RELEASE=$(curl -fsSL "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop heimdall
|
||||
sleep 1
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
msg_info "Backing up Data"
|
||||
cp -R /opt/Heimdall/database database-backup
|
||||
cp -R /opt/Heimdall/public public-backup
|
||||
@ -59,10 +59,10 @@ function update_script() {
|
||||
rm -rf {"${RELEASE}".tar.gz,Heimdall-"${VER}",public-backup,database-backup,Heimdall}
|
||||
sleep 1
|
||||
msg_ok "Cleaned"
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start heimdall.service
|
||||
sleep 2
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}."
|
||||
|
||||
@ -34,9 +34,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "homebox" "sysadminsmedia/homebox"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop homebox
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
if [ -f /opt/homebox ] && [ -x /opt/homebox ]; then
|
||||
rm -f /opt/homebox
|
||||
@ -46,9 +46,9 @@ function update_script() {
|
||||
[ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env
|
||||
[ -d /opt/.data ] && mv /opt/.data /opt/homebox/.data
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start homebox
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -27,9 +27,9 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop homer
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up assets directory"
|
||||
cd ~
|
||||
@ -53,9 +53,9 @@ function update_script() {
|
||||
rm -rf assets-backup /opt/homer/homer.zip
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start homer
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ function update_script() {
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop immich-web
|
||||
systemctl stop immich-ml
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
INSTALL_DIR="/opt/${APP}"
|
||||
UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
|
||||
SRC_DIR="${INSTALL_DIR}/source"
|
||||
|
||||
@ -28,17 +28,17 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "komga" "gotson/komga"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop komga
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
rm -f /opt/komga/komga.jar
|
||||
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga-org" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar"
|
||||
mv /opt/komga/komga-*.jar /opt/komga/komga.jar
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start komga
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
fi
|
||||
if check_for_gh_release "linkwarden" "linkwarden/linkwarden"; then
|
||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop linkwarden
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
RUST_CRATES="monolith" setup_rust
|
||||
|
||||
@ -54,9 +54,9 @@ function update_script() {
|
||||
[ -d /opt/data.bak ] && mv /opt/data.bak /opt/linkwarden/data
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start linkwarden
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup
|
||||
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "listmonk" "knadh/listmonk"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop listmonk
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up data"
|
||||
mv /opt/listmonk/ /opt/listmonk-backup
|
||||
@ -44,9 +44,9 @@ function update_script() {
|
||||
$STD /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml
|
||||
msg_ok "Configured listmonk"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start listmonk
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/listmonk-backup/
|
||||
|
||||
10
ct/medusa.sh
10
ct/medusa.sh
@ -27,9 +27,9 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop medusa
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/medusa
|
||||
@ -40,9 +40,9 @@ function update_script() {
|
||||
fi
|
||||
msg_ok "Updated Successfully"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start medusa
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
exit
|
||||
}
|
||||
|
||||
@ -53,4 +53,4 @@ 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}:8081${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8081${CL}"
|
||||
|
||||
@ -41,9 +41,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "metube" "alexta69/metube"; then
|
||||
msg_info "Stopping ${APP} Service"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop metube
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up Old Installation"
|
||||
if [[ -d /opt/metube_bak ]]; then
|
||||
@ -102,10 +102,10 @@ EOF
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned Up"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
msg_info "Starting Service"
|
||||
systemctl start metube
|
||||
sleep 1
|
||||
msg_ok "Started ${APP} Service"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_ok "Updated Successfully!"
|
||||
fi
|
||||
|
||||
@ -29,18 +29,18 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop minarca-server
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get upgrade -y
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start minarca-server
|
||||
msg_ok "Restarted ${APP}"
|
||||
msg_ok "Started Service"
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@ -47,9 +47,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if [[ "${CURRENT_VERSION}" != "${RELEASE}" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop minio
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
mv /usr/local/bin/minio /usr/local/bin/minio_bak
|
||||
@ -58,9 +58,9 @@ function update_script() {
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start minio
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f /usr/local/bin/minio_bak
|
||||
|
||||
@ -31,9 +31,9 @@ function update_script() {
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/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 ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop netbox netbox-rq
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating $APP to v${RELEASE}"
|
||||
mv /opt/netbox/ /opt/netbox-backup
|
||||
@ -60,9 +60,9 @@ function update_script() {
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated $APP to v${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start netbox netbox-rq
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -r "/opt/v${RELEASE}.zip"
|
||||
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop nextpvr-server
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating LXC packages"
|
||||
$STD apt-get update
|
||||
@ -43,9 +43,9 @@ function update_script() {
|
||||
$STD dpkg -i nextpvr-helper.deb
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start nextpvr-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf /opt/nextpvr-helper.deb
|
||||
|
||||
@ -31,9 +31,9 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "nodebb" "NodeBB/NodeBB"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop nodebb
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/nodebb
|
||||
@ -41,9 +41,9 @@ function update_script() {
|
||||
echo "${CHECK_UPDATE_RELEASE}" >~/.nodebb
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start nodebb
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully\n"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -32,22 +32,22 @@ function update_script() {
|
||||
DETAIL_PAGE=$(curl -fsSL "$BASE_URL#note_$RELEASE")
|
||||
DOWNLOAD_URL=$(echo "$DETAIL_PAGE" | grep -oP "https://updates.networkoptix.com/default/$RELEASE/linux/nxwitness-server-[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-linux_x64\.deb" | head -n 1)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop networkoptix-root-tool networkoptix-mediaserver
|
||||
msg_ok "${APP} Stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /tmp
|
||||
curl -fsSL "$DOWNLOAD_URL" -o ""nxwitness-server-$RELEASE-linux_x64.deb""
|
||||
curl -fsSL "$DOWNLOAD_URL" -o ""nxwitness-server-$RELEASE-linux_x64.deb""
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
export DEBCONF_NOWARNINGS=yes
|
||||
$STD dpkg -i nxwitness-server-$RELEASE-linux_x64.deb
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start networkoptix-root-tool networkoptix-mediaserver
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f /tmp/nxwitness-server-$RELEASE-linux_x64.deb
|
||||
@ -67,4 +67,4 @@ 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}:7001/${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7001/${CL}"
|
||||
|
||||
@ -45,7 +45,7 @@ function update_script() {
|
||||
if [[ "${LATEST_VERSION}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Stopping ${APP} service"
|
||||
systemctl stop odoo
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${LATEST_VERSION}"
|
||||
curl -fsSL https://nightly.odoo.com/${RELEASE}/nightly/deb/odoo_${RELEASE}.latest_all.deb -o /opt/odoo.deb
|
||||
@ -55,7 +55,7 @@ function update_script() {
|
||||
|
||||
msg_info "Starting ${APP} service"
|
||||
systemctl start odoo
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -f /opt/odoo.deb
|
||||
|
||||
@ -28,18 +28,18 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "pocketbase" "pocketbase/pocketbase"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop pocketbase
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
/opt/pocketbase/pocketbase update
|
||||
echo "${CHECK_UPDATE_RELEASE}" >~/.pocketbase
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start pocketbase
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Update Successful"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -30,8 +30,8 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "pocket-id" "pocket-id/pocket-id"; then
|
||||
if [ "$(printf '%s\n%s' "$(cat ~/.pocket-id 2>/dev/null || echo 0.0.0)" "1.0.0" | sort -V | head -n1)" = "$(cat ~/.pocket-id 2>/dev/null || echo 0.0.0)" ] \
|
||||
&& [ "$(cat ~/.pocket-id 2>/dev/null || echo 0.0.0)" != "1.0.0" ]; then
|
||||
if [ "$(printf '%s\n%s' "$(cat ~/.pocket-id 2>/dev/null || echo 0.0.0)" "1.0.0" | sort -V | head -n1)" = "$(cat ~/.pocket-id 2>/dev/null || echo 0.0.0)" ] &&
|
||||
[ "$(cat ~/.pocket-id 2>/dev/null || echo 0.0.0)" != "1.0.0" ]; then
|
||||
msg_info "Migrating ${APP}"
|
||||
systemctl -q disable --now pocketid-backend pocketid-frontend caddy
|
||||
mv /etc/caddy/Caddyfile ~/Caddyfile.bak
|
||||
@ -58,9 +58,9 @@ function update_script() {
|
||||
mv /opt/data /opt/pocket-id
|
||||
msg_ok "Migration complete. The reverse proxy port has been changed to 1411."
|
||||
else
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop pocketid
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
cp /opt/pocket-id/.env /opt/env
|
||||
fi
|
||||
|
||||
|
||||
62
ct/prometheus-blackbox-exporter.sh
Normal file
62
ct/prometheus-blackbox-exporter.sh
Normal file
@ -0,0 +1,62 @@
|
||||
#!/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: Marfnl
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/prometheus/blackbox_exporter
|
||||
|
||||
APP="Prometheus-Blackbox-Exporter"
|
||||
var_tags="${var_tags:-monitoring;prometheus}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
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 /opt/blackbox-exporter ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "blackbox-exporter" "prometheus/blackbox_exporter"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop blackbox-exporter
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating backup"
|
||||
mv /opt/blackbox-exporter/blackbox.yml /opt
|
||||
msg_ok "Backup created"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "blackbox-exporter" "prometheus/blackbox_exporter" "prebuild" "latest" "/opt/blackbox-exporter" "blackbox_exporter-*.linux-amd64.tar.gz"
|
||||
|
||||
msg_info "Restoring backup"
|
||||
cp -r /opt/blackbox.yml /opt/blackbox-exporter
|
||||
rm -f /opt/blackbox.yml
|
||||
msg_ok "Backup restored"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start blackbox-exporter
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Update Successfully!"
|
||||
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}:9115${CL}"
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop prometheus-pve-exporter
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
export PVE_VENV_PATH="/opt/prometheus-pve-exporter/.venv"
|
||||
export PVE_EXPORTER_BIN="${PVE_VENV_PATH}/bin/pve_exporter"
|
||||
@ -77,9 +77,9 @@ EOF
|
||||
msg_ok "Updated systemd service"
|
||||
fi
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start prometheus-pve-exporter
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
exit 0
|
||||
|
||||
@ -41,17 +41,17 @@ EOF
|
||||
$STD apt-get update
|
||||
fi
|
||||
|
||||
msg_info "Stopping ${APP} Service"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop rabbitmq-server
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating..."
|
||||
$STD apt install --only-upgrade rabbitmq-server
|
||||
msg_ok "Update Successfully"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start rabbitmq-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
74
ct/rwmarkable.sh
Normal file
74
ct/rwmarkable.sh
Normal file
@ -0,0 +1,74 @@
|
||||
#!/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: vhsdream
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/fccview/rwMarkable
|
||||
|
||||
APP="rwMarkable"
|
||||
var_tags="${var_tags:-tasks;notes}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-6}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
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 /opt/rwmarkable ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "rwMarkable" "fccview/rwMarkable"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop rwmarkable
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up configuration & data"
|
||||
cd /opt/rwmarkable
|
||||
cp ./.env /opt/app.env
|
||||
$STD tar -cf /opt/data_config.tar ./data ./config
|
||||
msg_ok "Backed up configuration & data"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
|
||||
|
||||
msg_info "Updating app"
|
||||
cd /opt/rwmarkable
|
||||
$STD yarn --frozen-lockfile
|
||||
$STD yarn next telemetry disable
|
||||
$STD yarn build
|
||||
msg_ok "Updated app"
|
||||
|
||||
msg_info "Restoring configuration & data"
|
||||
mv /opt/app.env /opt/rwmarkable/.env
|
||||
$STD tar -xf /opt/data_config.tar
|
||||
msg_ok "Restored configuration & data"
|
||||
|
||||
msg_info "Restarting ${APP} service"
|
||||
systemctl start rwmarkable
|
||||
msg_ok "Restarted ${APP} service"
|
||||
rm /opt/data_config.tar
|
||||
msg_ok "Updated Successfully"
|
||||
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}"
|
||||
@ -28,15 +28,15 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "silverbullet" "silverbulletmd/silverbullet"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop silverbullet
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "silverbullet" "silverbulletmd/silverbullet" "prebuild" "latest" "/opt/silverbullet/bin" "silverbullet-server-linux-x86_64.zip"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start silverbullet
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Update Successful"
|
||||
fi
|
||||
exit
|
||||
|
||||
71
ct/sonarqube.sh
Normal file
71
ct/sonarqube.sh
Normal file
@ -0,0 +1,71 @@
|
||||
#!/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: prop4n
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://docs.sonarsource.com/sonarqube-server
|
||||
|
||||
APP="SonarQube"
|
||||
var_tags="${var_tags:-automation}"
|
||||
var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-6144}"
|
||||
var_disk="${var_disk:-25}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
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 /opt/sonarqube ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "sonarqube" "SonarSource/sonarqube"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop sonarqube
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating backup"
|
||||
BACKUP_DIR="/opt/sonarqube-backup"
|
||||
mv /opt/sonarqube ${BACKUP_DIR}
|
||||
msg_ok "Backup created"
|
||||
|
||||
msg_info "Installing sonarqube"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/SonarSource/sonarqube/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
|
||||
unzip -q "$temp_file" -d /opt
|
||||
mv /opt/sonarqube-* /opt/sonarqube
|
||||
msg_ok "Installed sonarqube"
|
||||
|
||||
msg_info "Restoring backup"
|
||||
cp -rp ${BACKUP_DIR}/data/ /opt/sonarqube/data/
|
||||
cp -rp ${BACKUP_DIR}/extensions/ /opt/sonarqube/extensions/
|
||||
cp -p ${BACKUP_DIR}/conf/sonar.properties /opt/sonarqube/conf/sonar.properties
|
||||
rm -rf ${BACKUP_DIR}
|
||||
chown -R sonarqube:sonarqube /opt/sonarqube
|
||||
msg_ok "Backup restored"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start sonarqube
|
||||
msg_ok "Service started"
|
||||
msg_ok "Updated Successfully!"
|
||||
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}:9000${CL}"
|
||||
@ -30,9 +30,9 @@ function update_script() {
|
||||
RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
msg_info "Stopping ${APP} Service"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop spoolman
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
@ -46,9 +46,9 @@ function update_script() {
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
msg_info "Starting Service"
|
||||
systemctl start spoolman
|
||||
msg_ok "Started ${APP} Service"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/spoolman.zip
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_disk="${var_disk:-10}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -34,9 +34,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "tandoor" "TandoorRecipes/recipes"; then
|
||||
msg_info "Stopping $APP"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop tandoor
|
||||
msg_ok "Stopped $APP"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating Backup"
|
||||
mv /opt/tandoor /opt/tandoor.bak
|
||||
@ -46,7 +46,7 @@ function update_script() {
|
||||
PYTHON_VERSION="3.13" setup_uv
|
||||
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
|
||||
|
||||
msg_info "Updating $APP"
|
||||
msg_info "Updating Tandoor"
|
||||
cp -r /opt/tandoor.bak/{config,api,mediafiles,staticfiles} /opt/tandoor/
|
||||
mv /opt/tandoor.bak/.env /opt/tandoor/.env
|
||||
cd /opt/tandoor
|
||||
@ -64,17 +64,17 @@ EOF
|
||||
cd /opt/tandoor
|
||||
$STD /opt/tandoor/.venv/bin/python manage.py migrate
|
||||
$STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input
|
||||
msg_ok "Updated $APP"
|
||||
msg_ok "Updated Trandoor"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
msg_info "Starting Service"
|
||||
systemctl start tandoor
|
||||
systemctl reload nginx
|
||||
msg_ok "Started $APP"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf /opt/tandoor.bak
|
||||
msg_ok "Cleanup Completed"
|
||||
msg_ok "Update Successful"
|
||||
msg_ok "Update Successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -20,18 +20,18 @@ 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
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /var ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating TasmoAdmin"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated TasmoAdmin"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@ -41,4 +41,4 @@ 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}:9999${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9999${CL}"
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-10}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -20,43 +20,46 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/tasmocompiler ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/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 $APP"
|
||||
systemctl stop tasmocompiler
|
||||
msg_ok "Stopped $APP"
|
||||
msg_info "Updating $APP to v${RELEASE}"
|
||||
cd /opt
|
||||
rm -rf /opt/tasmocompiler
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz")
|
||||
tar xzf v${RELEASE}.tar.gz
|
||||
mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/
|
||||
cd /opt/tasmocompiler
|
||||
$STD yarn install
|
||||
export NODE_OPTIONS=--openssl-legacy-provider
|
||||
$STD npm i
|
||||
$STD yarn build
|
||||
msg_ok "Updated $APP to v${RELEASE}"
|
||||
msg_info "Starting $APP"
|
||||
systemctl start tasmocompiler
|
||||
msg_ok "Started $APP"
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_info "Cleaning up"
|
||||
rm -r "/opt/v${RELEASE}.tar.gz"
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Update Successful"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
fi
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/tasmocompiler ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/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 tasmocompiler
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating TasmoCompiler"
|
||||
cd /opt
|
||||
rm -rf /opt/tasmocompiler
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz")
|
||||
tar xzf v${RELEASE}.tar.gz
|
||||
mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/
|
||||
cd /opt/tasmocompiler
|
||||
$STD yarn install
|
||||
export NODE_OPTIONS=--openssl-legacy-provider
|
||||
$STD npm i
|
||||
$STD yarn build
|
||||
msg_ok "Updated TasmoCompiler"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start tasmocompiler
|
||||
msg_ok "Started Service"
|
||||
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_info "Cleaning up"
|
||||
rm -r "/opt/v${RELEASE}.tar.gz"
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Update Successfully!"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -20,18 +20,19 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/Tautulli/ ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/Tautulli/ ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating Tautulli"
|
||||
$STD apt update
|
||||
$STD apt upgrade -y
|
||||
msg_ok "Updated Tautulli"
|
||||
msg_ok "Updated Successfully!"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@ -41,4 +42,4 @@ 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}:8181${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8181${CL}"
|
||||
|
||||
14
ct/tdarr.sh
14
ct/tdarr.sh
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -27,9 +27,9 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_info "Updating Tdarr"
|
||||
$STD apt update
|
||||
$STD apt upgrade -y
|
||||
rm -rf /opt/tdarr/Tdarr_Updater
|
||||
cd /opt/tdarr
|
||||
RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
|
||||
@ -37,12 +37,12 @@ function update_script() {
|
||||
$STD unzip Tdarr_Updater.zip
|
||||
chmod +x Tdarr_Updater
|
||||
$STD ./Tdarr_Updater
|
||||
msg_ok "Updated $APP LXC"
|
||||
msg_ok "Updated Tdarr"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "$APP has been successfully updated!"
|
||||
msg_ok "Cleaned up"
|
||||
msg_ok "Updated Successfully!"
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -34,19 +34,18 @@ function update_script() {
|
||||
systemctl stop teamspeak-server
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
msg_info "Updating Teamspeak Server"
|
||||
curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2
|
||||
tar -xf ./ts3server.tar.bz2
|
||||
cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/
|
||||
rm -f ~/ts3server.tar.bz*
|
||||
echo "${RELEASE}" >~/.teamspeak-server
|
||||
msg_ok "Updated $APP"
|
||||
msg_ok "Updated Teamspeak Server"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start teamspeak-server
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
msg_ok "Updated Successfully!"
|
||||
else
|
||||
msg_ok "Already up to date"
|
||||
fi
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -30,16 +30,16 @@ function update_script() {
|
||||
|
||||
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
|
||||
if [[ ! -f ~/.technitium || "${RELEASE}" != "$(cat ~/.technitium)" ]]; then
|
||||
msg_info "Updating ${APP}"
|
||||
msg_info "Updating Technitium DNS"
|
||||
curl -fsSL "https://download.technitium.com/dns/DnsServerPortable.tar.gz" -o /opt/DnsServerPortable.tar.gz
|
||||
$STD tar zxvf /opt/DnsServerPortable.tar.gz -C /opt/technitium/dns/
|
||||
msg_ok "Updated Successfully"
|
||||
msg_ok "Updated Technitium DNS"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f /opt/DnsServerPortable.tar.gz
|
||||
msg_ok "Cleaned up"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}."
|
||||
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@ -11,7 +11,8 @@ var_cpu="${var_cpu:-2}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "${APP}"
|
||||
variables
|
||||
@ -28,23 +29,23 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop teddycloud
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating backup"
|
||||
mv /opt/teddycloud /opt/teddycloud_bak
|
||||
msg_ok "Backup created"
|
||||
|
||||
fetch_and_deploy_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud" "prebuild" "latest" "/opt/teddycloud" "teddycloud.amd64.release*.zip"
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "teddycloud" "toniebox-reverse-engineering/teddycloud" "prebuild" "latest" "/opt/teddycloud" "teddycloud.amd64.release*.zip"
|
||||
|
||||
msg_info "Restoring data"
|
||||
cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud
|
||||
msg_ok "Data restored"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start teddycloud
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/teddycloud_bak
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -28,19 +28,19 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Stopping $APP"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop telegraf
|
||||
msg_ok "Stopped $APP"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating $APP"
|
||||
$STD apt-get update
|
||||
$STD apt-get upgrade telegraf -y
|
||||
msg_ok "Updated $APP"
|
||||
msg_info "Updating Telegraf"
|
||||
$STD apt update
|
||||
$STD apt upgrade telegraf -y
|
||||
msg_ok "Updated Telegraf"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
msg_info "Starting Service"
|
||||
systemctl start telegraf
|
||||
msg_ok "Started $APP"
|
||||
msg_ok "Updated Successfully"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully!"
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -29,16 +29,16 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "threadfin" "threadfin/threadfin"; then
|
||||
msg_info "Stopping $APP"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop threadfin
|
||||
msg_ok "Stopped $APP"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "threadfin" "threadfin/threadfin" "singlefile" "latest" "/opt/threadfin" "Threadfin_linux_amd64"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
msg_info "Starting Service"
|
||||
systemctl start threadfin
|
||||
msg_ok "Started $APP"
|
||||
msg_ok "Updated Successfully"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_disk="${var_disk:-12}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -61,9 +61,9 @@ function update_script() {
|
||||
$STD uv pip install apprise cryptography --system
|
||||
msg_ok "Updated AppRise"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start tianji
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/tianji_bak
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -29,9 +29,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "traccar" "traccar/traccar"; then
|
||||
msg_info "Stopping service"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop traccar
|
||||
msg_ok "Service stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating backup"
|
||||
mv /opt/traccar/conf/traccar.xml /opt
|
||||
@ -39,8 +39,7 @@ function update_script() {
|
||||
[[ -d /opt/traccar/media ]] && mv /opt/traccar/media /opt
|
||||
msg_ok "Backup created"
|
||||
|
||||
rm -rf /opt/traccar
|
||||
fetch_and_deploy_gh_release "traccar" "traccar/traccar" "prebuild" "latest" "/opt/traccar" "traccar-linux-64*.zip"
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "traccar" "traccar/traccar" "prebuild" "latest" "/opt/traccar" "traccar-linux-64*.zip"
|
||||
|
||||
msg_info "Perform Update"
|
||||
cd /opt/traccar
|
||||
@ -53,12 +52,15 @@ function update_script() {
|
||||
[[ -d /opt/media ]] && mv /opt/media /opt/traccar
|
||||
msg_ok "Data restored"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start traccar
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
[ -f README.txt ] || [ -f traccar.run ] && rm -f README.txt traccar.run
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned up"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -29,15 +29,15 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "traefik" "traefik/traefik"; then
|
||||
msg_info "Stopping service"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop traefik
|
||||
msg_ok "Service stopped"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_amd64.tar.gz"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start traefik
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -20,18 +20,18 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating Transmission"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated Transmission"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@ -41,4 +41,4 @@ 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}:9091/transmission${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091/transmission${CL}"
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -39,10 +39,10 @@ function update_script() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop trilium
|
||||
sleep 1
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up Database"
|
||||
mkdir -p /opt/trilium_backup
|
||||
@ -59,12 +59,15 @@ function update_script() {
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/trilium_backup
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start trilium
|
||||
sleep 1
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -44,7 +44,7 @@ function update_script() {
|
||||
|
||||
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
msg_info "Updating Tududi"
|
||||
cd /opt/tududi
|
||||
$STD npm install
|
||||
export NODE_ENV=production
|
||||
@ -57,12 +57,12 @@ function update_script() {
|
||||
-e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
|
||||
/etc/systemd/system/tududi.service
|
||||
systemctl daemon-reload
|
||||
msg_ok "Updated $APP"
|
||||
msg_ok "Updated Tududi"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start tududi
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
msg_ok "Updated Successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -28,9 +28,9 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "typesense" "typesense/typesense"; then
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_info "Updating Typesense"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
15
ct/uhf.sh
15
ct/uhf.sh
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -32,10 +32,10 @@ function update_script() {
|
||||
systemctl stop uhf-server
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
msg_info "Updating LXC"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated LXC"
|
||||
|
||||
fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-x64-*.zip"
|
||||
fetch_and_deploy_gh_release "uhf-server" "swapplications/uhf-server-dist" "prebuild" "latest" "/opt/uhf-server" "UHF.Server-linux-x64-*.zip"
|
||||
@ -45,8 +45,9 @@ function update_script() {
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
|
||||
14
ct/umami.sh
14
ct/umami.sh
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-12}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -29,21 +29,21 @@ function update_script() {
|
||||
fi
|
||||
|
||||
if check_for_gh_release "umami" "umami-software/umami"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop umami
|
||||
msg_ok "Stopped $APP"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "umami" "umami-software/umami" "tarball"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
msg_info "Updating Umami"
|
||||
cd /opt/umami
|
||||
$STD yarn install
|
||||
$STD yarn run build
|
||||
msg_ok "Updated ${APP}"
|
||||
msg_ok "Updated Umami"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start umami
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -20,18 +20,18 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /etc/unbound ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /etc/unbound ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating Unbound"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated Unbound"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@ -41,4 +41,4 @@ 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}:5335${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5335${CL}"
|
||||
|
||||
24
ct/unifi.sh
24
ct/unifi.sh
@ -20,18 +20,18 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /usr/lib/unifi ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating ${APP}"
|
||||
$STD apt-get update --allow-releaseinfo-change
|
||||
$STD apt-get install -y unifi
|
||||
msg_ok "Updated Successfully"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /usr/lib/unifi ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating ${APP}"
|
||||
$STD apt update --allow-releaseinfo-change
|
||||
$STD apt install -y unifi
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@ -41,4 +41,4 @@ 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}https://${IP}:8443${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-0}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -29,7 +29,7 @@ function update_script() {
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD pip3 install -U unmanic
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
@ -41,4 +41,4 @@ 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}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}"
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -31,21 +31,21 @@ function update_script() {
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
|
||||
if check_for_gh_release "uptime-kuma" "louislam/uptime-kuma"; then
|
||||
msg_info "Stopping ${APP}"
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop uptime-kuma
|
||||
msg_ok "Stopped ${APP}"
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "uptime-kuma" "louislam/uptime-kuma" "tarball"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
msg_info "Updating Uptime Kuma"
|
||||
cd /opt/uptime-kuma
|
||||
$STD npm install --omit dev
|
||||
$STD npm run download-dist
|
||||
msg_ok "Updated ${APP}"
|
||||
msg_ok "Updated Uptime Kuma"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start uptime-kuma
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-16}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-0}"
|
||||
|
||||
header_info "$APP"
|
||||
@ -20,28 +20,28 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /var/urbackup ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated Successfully"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /var/urbackup ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
pct set $CTID -features fuse=1,nesting=1
|
||||
pct reboot $CTID
|
||||
pct set "$CTID" -features fuse=1,nesting=1
|
||||
pct reboot "$CTID"
|
||||
|
||||
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 IP:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}"
|
||||
|
||||
@ -49,9 +49,9 @@ function update_script() {
|
||||
$STD pnpm build
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
msg_info "Starting Service"
|
||||
systemctl start zipline
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
|
||||
41
frontend/public/json/prometheus-blackbox-exporter.json
Normal file
41
frontend/public/json/prometheus-blackbox-exporter.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "Prometheus Blackbox Exporter",
|
||||
"slug": "prometheus-blackbox-exporter",
|
||||
"categories": [
|
||||
1,
|
||||
9
|
||||
],
|
||||
"date_created": "2025-10-10",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 9115,
|
||||
"documentation": "https://github.com/prometheus/blackbox_exporter",
|
||||
"website": "https://github.com/prometheus/blackbox_exporter",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/prometheus.webp",
|
||||
"config_path": "/opt/blackbox-exporter/blackbox.yml",
|
||||
"description": "An exporter allows blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP, ICMP and gRPC for use by the Prometheus monitoring system.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/prometheus-blackbox-exporter.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Please adjust the Proxmox credentials in the configuration file!",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
35
frontend/public/json/rwmarkable.json
Normal file
35
frontend/public/json/rwmarkable.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "rwMarkable",
|
||||
"slug": "rwmarkable",
|
||||
"categories": [
|
||||
12
|
||||
],
|
||||
"date_created": "2025-10-09",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://github.com/fccview/rwMarkable/blob/main/README.md",
|
||||
"website": "https://github.com/fccview/rwMarkable",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/rwmarkable.webp",
|
||||
"config_path": "/opt/rwmarkable/.env",
|
||||
"description": "A simple, self-hosted app for your checklists and notes. Tired of bloated, cloud-based to-do apps? rwMarkable is a lightweight alternative for managing your personal checklists and notes. It's built with Next.js 14, is easy to deploy, and keeps all your data on your own server.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/rwmarkable.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 6,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
36
frontend/public/json/sonarqube.json
Normal file
36
frontend/public/json/sonarqube.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "sonarqube",
|
||||
"slug": "sonarqube",
|
||||
"categories": [
|
||||
20,
|
||||
19
|
||||
],
|
||||
"date_created": "2025-10-10",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 9000,
|
||||
"documentation": "https://docs.sonarsource.com/sonarqube-server",
|
||||
"config_path": "/opt/sonarqube/conf/sonar.properties",
|
||||
"website": "https://www.sonarsource.com/products/sonarqube/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/sonarqube.webp",
|
||||
"description": "SonarQube Server automates code quality and security reviews and provides actionable code intelligence so developers can focus on building better, faster.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/sonarqube.sh",
|
||||
"resources": {
|
||||
"cpu": 4,
|
||||
"ram": 6144,
|
||||
"hdd": 25,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": "admin",
|
||||
"password": "admin"
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 4096,
|
||||
"hdd": 10,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -1,35 +1,35 @@
|
||||
{
|
||||
"name": "TasmoAdmin",
|
||||
"slug": "tasmoadmin",
|
||||
"categories": [
|
||||
16
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 9999,
|
||||
"documentation": null,
|
||||
"website": "https://github.com/TasmoAdmin/TasmoAdmin#readme",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tasmoadmin.webp",
|
||||
"config_path": "",
|
||||
"description": "TasmoAdmin is an administrative platform for devices flashed with Tasmota.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/tasmoadmin.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"name": "TasmoAdmin",
|
||||
"slug": "tasmoadmin",
|
||||
"categories": [
|
||||
16
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 9999,
|
||||
"documentation": null,
|
||||
"website": "https://github.com/TasmoAdmin/TasmoAdmin#readme",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tasmoadmin.webp",
|
||||
"config_path": "",
|
||||
"description": "TasmoAdmin is an administrative platform for devices flashed with Tasmota.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/tasmoadmin.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 10,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 1024,
|
||||
"hdd": 8,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 4096,
|
||||
"hdd": 12,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 1024,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 4,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 12,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user