Compare commits

..

56 Commits

Author SHA1 Message Date
tteckster 72dfc20090 Update changedetection-install.sh
use browserless v2
https://github.com/dgtlmoon/changedetection.io/discussions/1953
2024-08-13 08:43:41 -04:00
tteckster aca97a3da3 Update frigate-install.sh
revert service files
2024-08-12 10:19:08 -04:00
tteckster e4ad002ce5 Update frigate-install.sh
make `ln` command silent
2024-08-12 07:24:04 -04:00
tteckster 448cf93163 Update matterbridge.sh
tweak
2024-08-11 08:50:55 -04:00
tteckster 41b63495db Update matterbridge.sh
refactor update
2024-08-11 08:49:29 -04:00
tteckster 08debd9442 Update matterbridge-install.sh
create directory
2024-08-11 08:42:40 -04:00
tteckster a28eb2fd46 Update matterbridge-install.sh
refactor
fixes https://github.com/tteck/Proxmox/issues/3499
2024-08-11 08:34:02 -04:00
tteckster 3c41499074 Update frigate-install.sh
clean up code
2024-08-11 05:51:33 -04:00
tteckster 88de3536ab Update frigate-install.sh
test
2024-08-10 12:55:05 -04:00
Rémi Bédard-Couture 23ebc32489 Support frigate latest release (#3495) 2024-08-09 01:06:02 -04:00
tteckster 2782502e06 Update frigate-install.sh
pin version to 13.2
2024-08-08 13:41:56 -04:00
tteckster 9c88dcdbd6 Update trilium.sh
Switch to TriliumNext
2024-08-08 12:23:46 -04:00
tteckster e428bb8604 Update trilium-install.sh
switch to TriliumNext
2024-08-08 12:21:17 -04:00
indiscreettuna daa896894d Allow git clone over SSH (#3490) 2024-08-08 04:36:34 -04:00
Florian Pitance 6d1cc92b59 BunkerWeb Use repo.bunkerweb.io instead of packagecloud.io (#3484)
We have fixed the issues with our repository at repo.bunkerweb.io, you can now use the new address.
2024-08-07 11:27:19 -04:00
tteckster 92452db3e5 Update CHANGELOG.md 2024-08-06 15:32:57 -04:00
tteckster d26e474ccb Update install.func
add a one second delay before checking internet connectivity
2024-08-06 13:25:55 -04:00
tteckster b66590f976 Update linkwarden.sh
add `yarn playwright install`
2024-08-05 17:09:26 -04:00
tteckster 4a1e02a9ab Update linkwarden-install.sh
add `yarn playwright install`
2024-08-05 17:06:48 -04:00
tteckster ddb6551565 Update lldap-install.sh
Refactor
2024-08-05 06:03:44 -04:00
tteckster 20fb0ce808 Update lldap.sh
tweak
2024-08-05 05:03:19 -04:00
Rémi Bédard-Couture c4b6ea33aa Add script for Lldap (#3455) 2024-08-05 04:58:22 -04:00
tteckster a5fece4292 Update n8n.sh
fixes https://github.com/tteck/Proxmox/issues/3470
2024-08-04 23:21:49 -04:00
tteckster 232919d6be Update wastebin-install.sh
tweak
2024-08-04 17:10:38 -04:00
tteckster d21760cc65 Update wastebin-install.sh
Refactor
Fixes https://github.com/tteck/Proxmox/issues/3465
2024-08-04 17:07:52 -04:00
tteckster 341e873eba Update wastebin.sh
Refactor
2024-08-04 17:06:19 -04:00
tteckster d073535346 Update bunkerweb-install.sh
switch repo back to packagecloud
2024-07-30 07:48:03 -04:00
Kieran Hannigan b567bd848b Allow octoprint user to perform system functions (#3444) 2024-07-30 06:58:21 -04:00
tteckster bfce73c0ed Update README.md 2024-07-28 09:01:04 -04:00
tteckster 880a0f52ec Update CHANGELOG.md 2024-07-28 08:58:38 -04:00
tteckster 026b0f4105 Update radarr.sh
tweak
2024-07-27 12:51:12 -04:00
tteckster b108b6e373 Update update-lxcs.sh
tweak
2024-07-27 12:48:42 -04:00
tteckster fabbe5925b Update README.md
tweak
2024-07-27 07:07:09 -04:00
tteckster 5e561a1b78 Update traefik.sh
tweak
2024-07-27 06:55:30 -04:00
Peter Stalman a35e23916e Update traefik-install.sh (#3431) 2024-07-27 06:54:20 -04:00
vrozaksen f59c1227be Update gitea.sh (#3426)
Fix permissions
https://docs.gitea.com/installation/install-from-binary
2024-07-26 12:04:40 -04:00
tteckster 32ae8c1f4f Update CHANGELOG.md 2024-07-26 06:03:56 -04:00
tteckster 2c58bc987c Update gitea.sh
increase ram to 1024
2024-07-26 05:37:09 -04:00
tteckster 136f667126 Update gitea-install.sh
add SQLite3
2024-07-26 05:22:40 -04:00
Miguel Muniz ae49faec93 Add new LXC: Gitea (#3419) 2024-07-26 05:07:38 -04:00
tteckster b73557c14f Update ersatztv-install.sh
fixes https://github.com/tteck/Proxmox/issues/3422
2024-07-25 13:50:00 -04:00
tteckster 8db7e57819 Update keycloak.sh
fix URL
2024-07-23 12:13:35 -04:00
tteckster d18e37166d Update bunkerweb-install.sh
Refactor to eliminate script execution within another script, making the code easier to review.
2024-07-22 06:39:34 -04:00
tteckster 80fb3ee841 Update update-lxcs-cron.sh
fixes https://github.com/tteck/Proxmox/issues/3408
2024-07-21 07:11:36 -04:00
tteckster 6c155c7463 Update ersatztv.sh
Refactor `function update_script ()`
fixes https://github.com/tteck/Proxmox/issues/3404
2024-07-20 12:44:27 -04:00
tteckster 2febf2c39b Update unifi.sh
add AVX instruction set check
2024-07-20 06:20:20 -04:00
tteckster cfa1b2e04d Update vaultwarden.sh
tweak
2024-07-17 13:48:42 -04:00
tteckster 9deea7a983 Update vaultwarden.sh
add Admin Token to `/opt/vaultwarden/data/config.json`
2024-07-17 13:32:26 -04:00
tteckster 00a8f07170 Update CHANGELOG.md 2024-07-16 14:04:50 -04:00
tteckster 9cbd0f3037 Update install.func
fixes https://github.com/tteck/Proxmox/issues/3386
2024-07-16 11:27:55 -04:00
tteckster bf40c30fff Update haos-vm.sh
add local-zfs
2024-07-16 01:19:16 -04:00
tteckster e3da97472e Update CHANGELOG.md 2024-07-13 16:11:36 -04:00
tteckster 2446b6599f Update pingvin-install.sh
fixes https://github.com/tteck/Proxmox/issues/3373
2024-07-13 13:28:19 -04:00
tteckster 19fef65ac0 Update CHANGELOG.md 2024-07-13 00:26:39 -04:00
tteckster 8892fd960f Update CHANGELOG.md 2024-07-12 23:44:56 -04:00
tteckster 22c7801217 Update mikrotik-routeros.sh
chr-7.15.2
2024-07-07 16:40:15 -04:00
33 changed files with 428 additions and 187 deletions
+29 -13
View File
@@ -3,27 +3,43 @@
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</a>
</div>
<h1 align="center">Change Log</h1>
<h1 align="center">Changelog</h1>
<h3 align="center">All notable changes to this project will be documented in this file.</h3>
> [!WARNING]
Be cautious of copycat or coat-tailing sites that exploit the project's popularity with potentially malicious intent. Please only trust information from https://Helper-Scripts.com/ or https://tteck.github.io/Proxmox/.
- All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2024-08-06
### Changed
- **lldap LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/lldap-install.sh)
- NEW Script
## 2024-07-26
### Changed
- **Gitea LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/gitea-install.sh)
- NEW Script
## 2024-06-30
### Changed
- **All Scripts**
- **All Scripts** [(Commit)](https://github.com/tteck/Proxmox/commit/39ea1d4a20b83c07d084ebafdc811eec3548f289)
- Requires Proxmox Virtual Environment version 8.1 or later.
## 2024-06-27
### Changed
- **Kubo LXC**
- **Kubo LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/kubo-install.sh)
- NEW Script
- **RabbitMQ LXC**
- **RabbitMQ LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/rabbitmq-install.sh)
- NEW Script
- **Scrutiny LXC**
- Removed from website, broken.
@@ -39,27 +55,27 @@
### Changed
- **MySpeed LXC**
- **MySpeed LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/myspeed-install.sh)
- NEW Script
## 2024-06-13
### Changed
- **PeaNUT LXC**
- **PeaNUT LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/peanut-install.sh)
- NEW Script
- **Website**
- If the Changelog has changed recently, the link on the website will pulse.
- **Spoolman LXC**
- **Spoolman LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/spoolman-install.sh)
- NEW Script
## 2024-06-12
### Changed
- **MeTube LXC**
- **MeTube LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/metube-install.sh)
- NEW Script
- **Matterbridge LXC**
- **Matterbridge LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/matterbridge-install.sh)
- NEW Script
- **Website**
- Reopen the gh-pages site (https://tteck.github.io/Proxmox/)
@@ -68,14 +84,14 @@
### Changed
- **Zabbix LXC**
- **Zabbix LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/zabbix-install.sh)
- NEW Script
## 2024-06-06
### Changed
- **Petio LXC**
- **Petio LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/petio-install.sh)
- NEW Script
- **Website**
- Important notices will now be displayed on the landing page.
@@ -84,14 +100,14 @@
### Changed
- **FlareSolverr LXC**
- **FlareSolverr LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/flaresolverr-install.sh)
- NEW Script
## 2024-05-31
### Changed
- **Advanced Settings**
- **Advanced Settings** [(Commit)](https://github.com/tteck/Proxmox/commit/fc9dff220b4ea426d3a75178ad8accacae4683ca)
- Passwords are now masked
## 2024-05-30
+4 -1
View File
@@ -6,7 +6,7 @@
<h1 align="center">Proxmox VE Helper-Scripts</h1>
<p align="center">
<a href="https://tteck.github.io/Proxmox/">Website</a> |
<a href="https://helper-scripts.com">Website</a> |
<a href="https://github.com/tteck/Proxmox/blob/main/.github/CONTRIBUTING.md">Contribute</a> |
<a href="https://github.com/tteck/Proxmox/blob/main/USER_SUBMITTED_GUIDES.md">Guides</a> |
<a href="https://github.com/tteck/Proxmox/blob/main/CHANGELOG.md">Changelog</a> |
@@ -15,6 +15,9 @@
---
> [!WARNING]
Be cautious of copycat or coat-tailing sites that exploit the project's popularity with potentially malicious intent. Please only trust information from https://Helper-Scripts.com/ or https://tteck.github.io/Proxmox/.
These scripts empower users to create a Linux container or virtual machine interactively, providing choices for both simple and advanced configurations. The basic setup adheres to default settings, while the advanced setup gives users the ability to customize these defaults.
Options are displayed to users in a dialog box format. Once the user makes their selections, the script collects and validates their input to generate the final configuration for the container or virtual machine.
+6 -8
View File
@@ -57,22 +57,20 @@ function default_settings() {
function update_script() {
header_info
if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
fi
msg_info "Stopping ErsatzTV"
systemctl stop ersatzTV
msg_ok "Stopped ErsatzTV"
msg_info "Updating ErsatzTV"
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
if [ -d /opt/ErsatzTV/ErsatzTV_bak ]; then
rm -rf /opt/ErsatzTV/ErsatzTV_bak
fi
mv /opt/ErsatzTV/ErsatzTV /opt/ErsatzTV/ErsatzTV_bak
cp -R /opt/ErsatzTV/ ErsatzTV-backup
rm ErsatzTV-backup/ErsatzTV
rm -rf /opt/ErsatzTV
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
cp -R ErsatzTV-backup/* /opt/ErsatzTV/
rm -rf ErsatzTV-backup
msg_ok "Updated ErsatzTV"
msg_info "Starting ErsatzTV"
+77
View File
@@ -0,0 +1,77 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# Co-author: Rogue-King
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ _ __
/ ____/(_)/ /____ ____ _
/ / __// // __/ _ \/ __ /
/ /_/ // // /_/ __/ /_/ /
\____//_/ \__/\___/\__,_/
EOF
}
header_info
echo -e "Loading..."
APP="Gitea"
var_disk="8"
var_cpu="1"
var_ram="1024"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() {
header_info
if [[ ! -f /usr/local/bin/gitea ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
msg_info "Updating $APP to ${RELEASE}"
wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
systemctl stop gitea
rm -rf /usr/local/bin/gitea
mv gitea* /usr/local/bin/gitea
chmod +x /usr/local/bin/gitea
systemctl start gitea
msg_ok "Updated $APP Successfully"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:3000${CL} \n"
+1 -1
View File
@@ -69,4 +69,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:8080${CL} \n"
${BL}http://${IP}:8080/admin${CL} \n"
+1
View File
@@ -67,6 +67,7 @@ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}
git pull
yarn
npx playwright install-deps
yarn playwright install
yarn prisma generate
yarn build
yarn prisma migrate deploy
+73
View File
@@ -0,0 +1,73 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# Co-Author: remz1337
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
____ __
/ / /___/ /___ _____
/ / / __ / __ `/ __ \
/ / / /_/ / /_/ / /_/ /
/_/_/\__,_/\__,_/ .___/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="lldap"
var_disk="4"
var_cpu="1"
var_ram="512"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() {
header_info
if [[ ! -f /etc/systemd/system/lldap.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP"
apt update
apt upgrade -y lldap
msg_ok "Updated $APP"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:17170${CL} \n"
+2 -31
View File
@@ -54,37 +54,8 @@ function default_settings() {
function update_script() {
header_info
if [[ ! -d /opt/matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/Luligu/matterbridge/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP} Service"
systemctl stop matterbridge
msg_ok "Stopped ${APP} Service"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/matterbridge
wget -q "https://github.com/Luligu/matterbridge/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv matterbridge-${RELEASE} /opt/matterbridge
cd /opt/matterbridge
npm ci >/dev/null 2>&1
npm run build >/dev/null 2>&1
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Cleaning up"
rm /opt/${RELEASE}.zip
msg_ok "Cleaned"
msg_info "Starting ${APP} Service"
systemctl start matterbridge
sleep 1
msg_ok "Started ${APP} Service"
msg_ok "Updated Successfully!\n"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
if [[ ! -d /root/Matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "Update via the Matterbridge UI"
exit
}
+1
View File
@@ -65,6 +65,7 @@ if [[ ! -f /etc/systemd/system/n8n.service ]]; then msg_error "No ${APP} Install
fi
msg_info "Updating ${APP} LXC"
npm update -g n8n &>/dev/null
systemctl restart n8n
msg_ok "Updated Successfully"
exit
}
+1 -4
View File
@@ -55,10 +55,7 @@ function default_settings() {
function update_script() {
header_info
if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated $APP LXC"
msg_error "There is currently no update path available."
exit
}
+1 -1
View File
@@ -55,7 +55,7 @@ function default_settings() {
function update_script() {
header_info
if [[ ! -f /etc/systemd/system/traefik.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=3.0.4 #$(curl -s https://api.github.com/repos/traefik/traefik/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1)
msg_info "Updating $APP LXC"
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
+2 -4
View File
@@ -55,9 +55,7 @@ function default_settings() {
function update_script() {
header_info
if [[ ! -d /opt/trilium ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/zadam/trilium/releases/latest |
grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Stopping ${APP}"
systemctl stop trilium.service
@@ -65,7 +63,7 @@ sleep 1
msg_ok "Stopped ${APP}"
msg_info "Updating to v${RELEASE}"
wget -q https://github.com/zadam/trilium/releases/download/v$RELEASE/trilium-linux-x64-server-$RELEASE.tar.xz
wget -q https://github.com/TriliumNext/Notes/releases/download/v$RELEASE/trilium-linux-x64-server-$RELEASE.tar.xz
tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz &>/dev/null
cp -r trilium-linux-x64-server/* /opt/trilium/
msg_ok "Updated to v${RELEASE}"
+4
View File
@@ -17,6 +17,10 @@ cat <<"EOF"
EOF
}
header_info
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
echo "AVX instruction set is not supported on this CPU."
exit
fi
echo -e "Loading..."
APP="Unifi"
var_disk="8"
+3
View File
@@ -128,6 +128,9 @@ function update_script() {
if ! command -v argon2 >/dev/null 2>&1; then apt-get install -y argon2 &>/dev/null; fi
TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -t 2 -m 16 -p 4 -l 64 -e)
sed -i "s|ADMIN_TOKEN=.*|ADMIN_TOKEN='${TOKEN}'|" /opt/vaultwarden/.env
if [[ -f /opt/vaultwarden/data/config.json ]]; then
sed -i "s|\"admin_token\":.*|\"admin_token\": \"${TOKEN}\"|" /opt/vaultwarden/data/config.json
fi
systemctl restart vaultwarden
fi
exit
+25 -37
View File
@@ -23,8 +23,8 @@ header_info
echo -e "Loading..."
APP="Wastebin"
var_disk="4"
var_cpu="4"
var_ram="2048"
var_cpu="1"
var_ram="1024"
var_os="debian"
var_version="12"
variables
@@ -58,39 +58,31 @@ function default_settings() {
function update_script() {
header_info
if [[ ! -d /opt/wastebin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
fi
msg_info "Stopping Wastebin"
systemctl stop wastebin
msg_ok "Wastebin Stopped"
msg_info "Updating Wastebin"
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
cd /opt
if [ -d wastebin_bak ]; then
rm -rf wastebin_bak
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Wastebin"
systemctl stop wastebin
msg_ok "Wastebin Stopped"
msg_info "Updating Wastebin"
wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
cp -f wastebin /opt/wastebin/
chmod +x /opt/wastebin/wastebin
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Wastebin"
msg_info "Starting Wastebin"
systemctl start wastebin
msg_ok "Started Wastebin"
msg_info "Cleaning Up"
rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
mv wastebin wastebin_bak
wget -q "https://github.com/matze/wastebin/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv wastebin-${RELEASE} /opt/wastebin
cd /opt/wastebin
cargo update -q
cargo build -q --release
msg_ok "Updated Wastebin"
msg_info "Starting Wastebin"
systemctl start wastebin
msg_ok "Started Wastebin"
msg_info "Cleaning Up"
cd /opt
rm -R ${RELEASE}.zip
rm -R wastebin_bak
msg_ok "Cleaned"
msg_ok "Updated Successfully"
exit
}
@@ -98,10 +90,6 @@ start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -cores 2
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:8088${CL} \n"
+6 -5
View File
@@ -17,10 +17,9 @@ msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y gnupg2
$STD apt-get install -y ca-certificates
$STD apt-get install -y gpg
$STD apt-get install -y apt-transport-https
$STD apt-get install -y lsb-release
$STD apt-get install -y debian-archive-keyring
msg_ok "Installed Dependencies"
msg_info "Installing Nginx"
@@ -31,9 +30,11 @@ $STD apt-get install -y nginx
msg_ok "Installed Nginx"
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing BunkerWeb v${RELEASE}"
msg_info "Installing BunkerWeb v${RELEASE} (Patience)"
curl -fsSL "https://repo.bunkerweb.io/bunkerity/bunkerweb/gpgkey" | gpg --dearmor >/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg] https://repo.bunkerweb.io/bunkerity/bunkerweb/debian/ bookworm main" >/etc/apt/sources.list.d/bunkerity_bunkerweb.list
$STD apt-get update
export UI_WIZARD=1
curl -sSL https://packagecloud.io/install/repositories/bunkerity/bunkerweb/script.deb.sh | bash &>/dev/null
$STD apt-get install -y bunkerweb=${RELEASE}
cat <<EOF >/etc/apt/preferences.d/bunkerweb
Package: bunkerweb
+3 -3
View File
@@ -74,7 +74,7 @@ msg_ok "Installed Change Detection"
msg_info "Installing Browserless & Playwright"
mkdir /opt/browserless
$STD python3 -m pip install playwright
$STD git clone -b v1 https://github.com/browserless/chrome /opt/browserless
$STD git clone https://github.com/browserless/chrome /opt/browserless
$STD npm install --prefix /opt/browserless
$STD npm run build --prefix /opt/browserless
$STD npm prune production --prefix /opt/browserless
@@ -123,8 +123,8 @@ Wants=browserless.service
[Service]
Type=simple
WorkingDirectory=/opt/changedetection
Environment="WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub"
Environment="PLAYWRIGHT_DRIVER_URL=ws://127.0.0.1:3000/?stealth=1&--disable-web-security=true"
Environment=WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub
Environment=PLAYWRIGHT_DRIVER_URL=ws://browserless-chrome:3000/chrome?launch={"defaultViewport":{"height":720,"width":1280},"headless":false,"stealth":true}&blockAds=true
ExecStart=changedetection.io -d /opt/changedetection -p 5000
[Install]
WantedBy=multi-user.target
+12 -12
View File
@@ -15,21 +15,21 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
ffmpeg \
build-essential \
unzip \
pkg-config \
curl \
sudo \
git \
make \
mc
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
msg_ok "Installed Dependencies"
msg_info "Installing FFmpeg (Patience)"
echo "deb http://deb.debian.org/debian/ sid main" >/etc/apt/sources.list.d/sid.list
$STD apt update
DEBIAN_FRONTEND=noninteractive $STD apt install -t sid ffmpeg -y
rm /etc/apt/sources.list.d/sid.list
$STD apt update
msg_ok "Installed FFmpeg"
msg_info "Installing ErsatzTV "
msg_info "Installing ErsatzTV"
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
+17 -7
View File
@@ -1,7 +1,8 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
# Authors: tteck (tteckster)
# Author: tteck (tteckster)
# Co-Author: remz1337
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -14,11 +15,12 @@ network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y {curl,sudo,mc,git,gpg,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq}
$STD apt-get install -y {curl,sudo,mc,git,gpg,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils}
msg_ok "Installed Dependencies"
msg_info "Installing Python3 Dependencies"
$STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutils,python3-pip}
$STD pip install --upgrade pip
msg_ok "Installed Python3 Dependencies"
msg_info "Installing Node.js"
@@ -62,6 +64,7 @@ export TARGETARCH="amd64"
echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections
wget -q -O /opt/frigate/docker/main/install_deps.sh https://raw.githubusercontent.com/blakeblackshear/frigate/dev/docker/main/install_deps.sh
$STD /opt/frigate/docker/main/install_deps.sh
$STD apt update
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
$STD pip3 install -U /wheels/*.whl
@@ -118,7 +121,7 @@ if grep -q -o -m1 'avx[^ ]*' /proc/cpuinfo; then
detectors:
ov:
type: openvino
device: AUTO
device: CPU
model:
path: /openvino-model/FP16/ssdlite_mobilenet_v2.xml
model:
@@ -168,11 +171,18 @@ msg_ok "Installed Coral Object Detection Model"
msg_info "Building Nginx with Custom Modules"
$STD /opt/frigate/docker/main/build_nginx.sh
sed -i 's/exec nginx/exec \/usr\/local\/nginx\/sbin\/nginx/g' /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run
sed -e '/s6-notifyoncheck/ s/^#*/#/' -i /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run
sed -i 's/error_log \/dev\/stdout warn\;/error_log \/dev\/shm\/logs\/nginx\/current warn\;/' /usr/local/nginx/conf/nginx.conf
sed -i 's/access_log \/dev\/stdout main\;/access_log \/dev\/shm\/logs\/nginx\/current main\;/' /usr/local/nginx/conf/nginx.conf
ln -sf /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
msg_ok "Built Nginx"
msg_info "Installing Tempio"
sed -i 's|/rootfs/usr/local|/usr/local|g' /opt/frigate/docker/main/install_tempio.sh
$STD /opt/frigate/docker/main/install_tempio.sh
ln -sf /usr/local/tempio/bin/tempio /usr/local/bin/tempio
msg_ok "Installed Tempio"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/create_directories.service
[Unit]
@@ -200,7 +210,7 @@ Restart=always
RestartSec=1
User=root
ExecStartPre=+rm /dev/shm/logs/go2rtc/current
ExecStart=bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/go2rtc/run
ExecStart=/bin/bash -c "bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/go2rtc/run 2> >(/usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S ' >&2) | /usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S '"
StandardOutput=file:/dev/shm/logs/go2rtc/current
StandardError=file:/dev/shm/logs/go2rtc/current
@@ -222,7 +232,7 @@ Restart=always
RestartSec=1
User=root
ExecStartPre=+rm /dev/shm/logs/frigate/current
ExecStart=bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/run
ExecStart=/bin/bash -c "bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/run 2> >(/usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S ' >&2) | /usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S '"
StandardOutput=file:/dev/shm/logs/frigate/current
StandardError=file:/dev/shm/logs/frigate/current
@@ -244,7 +254,7 @@ Restart=always
RestartSec=1
User=root
ExecStartPre=+rm /dev/shm/logs/nginx/current
ExecStart=bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run
ExecStart=/bin/bash -c "bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run 2> >(/usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S ' >&2) | /usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S '"
StandardOutput=file:/dev/shm/logs/nginx/current
StandardError=file:/dev/shm/logs/nginx/current
+79
View File
@@ -0,0 +1,79 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# Co-author: Rogue-King
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y sqlite3
msg_ok "Installed Dependencies"
msg_info "Installing Gitea"
RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
mv gitea* /usr/local/bin/gitea
chmod +x /usr/local/bin/gitea
adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea > /dev/null
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R gitea:gitea /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
chown root:gitea /etc/gitea
chmod 770 /etc/gitea
sudo -u gitea ln -s /var/lib/gitea/data/.ssh/ /etc/gitea/.ssh
msg_ok "Installed Gitea"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
# Uncomment notify and watchdog if you want to use them
# Uncomment the next line if you have repos with lots of files and get a HTTP 500 error because of that
# LimitNOFILE=524288:524288
RestartSec=2s
Type=simple
#Type=notify
User=gitea
Group=gitea
#The mount point we added to the container
WorkingDirectory=/var/lib/gitea
#Create directory in /run
RuntimeDirectory=gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/var/lib/gitea/data GITEA_WORK_DIR=/var/lib/gitea
#WatchdogSec=30s
#Capabilities to bind to low-numbered ports
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now gitea
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1
View File
@@ -74,6 +74,7 @@ RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/la
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
$STD yarn
$STD npx playwright install-deps
$STD yarn playwright install
IP=$(hostname -I | awk '{print $1}')
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
env_path="/opt/linkwarden/.env"
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# Co-Author: remz1337
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y gpg
msg_ok "Installed Dependencies"
msg_info "Installing lldap"
source /etc/os-release
os=$ID
if [ "$os" == "ubuntu" ]; then
DISTRO="xUbuntu"
else
DISTRO="${os^}"
fi
echo "deb http://download.opensuse.org/repositories/home:/Masgalor:/LLDAP/${DISTRO}_${VERSION_ID}/ /" >/etc/apt/sources.list.d/home:Masgalor:LLDAP.list
curl -fsSL https://download.opensuse.org/repositories/home:Masgalor:LLDAP/${DISTRO}_${VERSION_ID}/Release.key | gpg --dearmor >/etc/apt/trusted.gpg.d/home_Masgalor_LLDAP.gpg
$STD apt update
$STD apt install -y lldap
systemctl enable -q --now lldap
msg_ok "Installed lldap"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+9 -25
View File
@@ -15,17 +15,11 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
build-essential \
unzip \
curl \
sudo \
git \
make \
gnupg \
ca-certificates \
mc
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y gpg
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
@@ -40,15 +34,8 @@ $STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Install Matterbridge"
RELEASE=$(curl -s https://api.github.com/repos/Luligu/matterbridge/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
wget -q "https://github.com/Luligu/matterbridge/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv matterbridge-${RELEASE} /opt/matterbridge
rm -R ${RELEASE}.zip
cd /opt/matterbridge
$STD npm ci
$STD npm run build
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
mkdir -p /root/Matterbridge
$STD npm install -g matterbridge
msg_ok "Installed Matterbridge"
msg_info "Creating Service"
@@ -59,16 +46,13 @@ After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/npm run start:bridge
WorkingDirectory=/opt/matterbridge
ExecStart=matterbridge -bridge -service
WorkingDirectory=/root/Matterbridge
StandardOutput=inherit
StandardError=inherit
Restart=always
RestartSec=10s
TimeoutStopSec=30s
User=root
Environment=PATH=/usr/bin:/usr/local/bin:/opt/matterbridge/bin
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
+1
View File
@@ -37,6 +37,7 @@ msg_info "Creating user octoprint"
useradd -m -s /bin/bash -p $(openssl passwd -1 octoprint) octoprint
usermod -aG sudo,tty,dialout octoprint
chown -R octoprint:octoprint /opt
echo "octoprint ALL=NOPASSWD: $(command -v systemctl) restart octoprint, $(command -v reboot), $(command -v poweroff)" > /etc/sudoers.d/octoprint
msg_ok "Created user octoprint"
msg_info "Installing OctoPrint"
+1
View File
@@ -43,6 +43,7 @@ $STD npm install
$STD npm run build
$STD pm2 start --name="pingvin-share-backend" npm -- run prod
cd ../frontend
sed -i '/"admin.config.smtp.allow-unauthorized-certificates":\|admin.config.smtp.allow-unauthorized-certificates.description":/,+1d' ./src/i18n/translations/fr-FR.ts
$STD npm install
$STD npm run build
$STD pm2 start --name="pingvin-share-frontend" npm -- run start
+1 -1
View File
@@ -21,7 +21,7 @@ $STD apt-get install -y gpg
$STD apt-get install -y apt-transport-https
msg_ok "Installed Dependencies"
RELEASE=3.0.4 #$(curl -s https://api.github.com/repos/traefik/traefik/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1)
msg_info "Installing Traefik v${RELEASE}"
mkdir -p /etc/traefik/{conf.d,ssl}
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
+4 -6
View File
@@ -19,15 +19,13 @@ $STD apt-get install -y sudo
$STD apt-get install -y mc
msg_ok "Installed Dependencies"
RELEASE=$(curl -s https://api.github.com/repos/zadam/trilium/releases/latest |
grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing Trilium"
wget -q https://github.com/zadam/trilium/releases/download/v$RELEASE/trilium-linux-x64-server-$RELEASE.tar.xz
msg_info "Installing TriliumNext"
wget -q https://github.com/TriliumNext/Notes/releases/download/v$RELEASE/trilium-linux-x64-server-$RELEASE.tar.xz
$STD tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz
mv trilium-linux-x64-server /opt/trilium
msg_ok "Installed Trilium"
msg_ok "Installed TriliumNext"
msg_info "Creating Service"
service_path="/etc/systemd/system/trilium.service"
+12 -23
View File
@@ -15,30 +15,20 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
build-essential \
unzip \
curl \
sudo \
git \
make \
mc
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
msg_ok "Installed Dependencies"
msg_info "Installing Rust (Patience)"
$STD bash <(curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs) -y
source ~/.cargo/env
msg_ok "Installed Rust"
msg_info "Installing Wastebin (Patience)"
msg_info "Installing Wastebin"
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
wget -q "https://github.com/matze/wastebin/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv wastebin-${RELEASE} /opt/wastebin
rm -R ${RELEASE}.zip
cd /opt/wastebin
cargo build -q --release
wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
mkdir -p /opt/wastebin
mv wastebin /opt/wastebin/
chmod +x /opt/wastebin/wastebin
msg_ok "Installed Wastebin"
msg_info "Creating Service"
@@ -48,9 +38,8 @@ Description=Start Wastebin Service
After=network.target
[Service]
User=root
WorkingDirectory=/opt/wastebin
ExecStart=/root/.cargo/bin/cargo run --release --quiet
ExecStart=/opt/wastebin/wastebin
[Install]
WantedBy=multi-user.target
+4 -1
View File
@@ -87,7 +87,10 @@ msg_error() {
setting_up_container() {
msg_info "Setting up Container OS"
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
locale_line=$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print $1}' | head -n 1)
echo "LANG=${locale_line}" >/etc/default/locale
locale-gen >/dev/null
export LANG=${locale_line}
echo $tz >/etc/timezone
ln -sf /usr/share/zoneinfo/$tz /etc/localtime
for ((i = RETRY_NUM; i > 0; i--)); do
@@ -114,7 +117,7 @@ network_check() {
trap - ERR
ipv4_connected=false
ipv6_connected=false
sleep 1
# Check IPv4 connectivity
if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then
msg_ok "IPv4 Internet Connected";
-1
View File
@@ -35,7 +35,6 @@ for container in $(pct list | awk '{if(NR>1) print $1}'); do
fi
done
if [ "$excluded" == true ]; then
header_info
echo -e "[Info] Skipping $container"
sleep 1
else
+1 -1
View File
@@ -101,7 +101,7 @@ for container in $(pct list | awk '{if(NR>1) print $1}'); do
done
wait
header_info
echo -e "${GN}The process is complete, and the selected containers have been updated.${CL}\n"
echo -e "${GN}The process is complete, and the containers have been successfully updated.${CL}\n"
if [ "${#containers_needing_reboot[@]}" -gt 0 ]; then
echo -e "${RD}The following containers require a reboot:${CL}"
for container_name in "${containers_needing_reboot[@]}"; do
+1 -1
View File
@@ -428,7 +428,7 @@ nfs | dir)
DISK_IMPORT="-format raw"
THIN=""
;;
btrfs)
btrfs | local-zfs)
DISK_EXT=".raw"
DISK_REF="$VMID/"
DISK_IMPORT="-format raw"
+1 -1
View File
@@ -234,7 +234,7 @@ msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location."
msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}."
msg_info "Getting URL for Mikrotik RouterOS CHR Disk Image"
URL=https://download.mikrotik.com/routeros/7.12.1/chr-7.12.1.img.zip
URL=https://download.mikrotik.com/routeros/7.15.2/chr-7.15.2.img.zip
sleep 2
msg_ok "${CL}${BL}${URL}${CL}"