mirror of
https://github.com/tteck/Proxmox.git
synced 2026-07-04 14:52:40 +02:00
Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 72dfc20090 | |||
| aca97a3da3 | |||
| e4ad002ce5 | |||
| 448cf93163 | |||
| 41b63495db | |||
| 08debd9442 | |||
| a28eb2fd46 | |||
| 3c41499074 | |||
| 88de3536ab | |||
| 23ebc32489 | |||
| 2782502e06 | |||
| 9c88dcdbd6 | |||
| e428bb8604 | |||
| daa896894d | |||
| 6d1cc92b59 | |||
| 92452db3e5 | |||
| d26e474ccb | |||
| b66590f976 | |||
| 4a1e02a9ab | |||
| ddb6551565 | |||
| 20fb0ce808 | |||
| c4b6ea33aa | |||
| a5fece4292 | |||
| 232919d6be | |||
| d21760cc65 | |||
| 341e873eba | |||
| d073535346 | |||
| b567bd848b | |||
| bfce73c0ed | |||
| 880a0f52ec | |||
| 026b0f4105 | |||
| b108b6e373 | |||
| fabbe5925b | |||
| 5e561a1b78 | |||
| a35e23916e | |||
| f59c1227be | |||
| 32ae8c1f4f | |||
| 2c58bc987c | |||
| 136f667126 | |||
| ae49faec93 | |||
| b73557c14f | |||
| 8db7e57819 | |||
| d18e37166d | |||
| 80fb3ee841 | |||
| 6c155c7463 | |||
| 2febf2c39b | |||
| cfa1b2e04d | |||
| 9deea7a983 | |||
| 00a8f07170 | |||
| 9cbd0f3037 | |||
| bf40c30fff | |||
| e3da97472e | |||
| 2446b6599f | |||
| 19fef65ac0 | |||
| 8892fd960f | |||
| 22c7801217 |
+29
-13
@@ -3,27 +3,43 @@
|
|||||||
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</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>
|
<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.
|
- 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
|
## 2024-06-30
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **All Scripts**
|
- **All Scripts** [(Commit)](https://github.com/tteck/Proxmox/commit/39ea1d4a20b83c07d084ebafdc811eec3548f289)
|
||||||
- Requires Proxmox Virtual Environment version 8.1 or later.
|
- Requires Proxmox Virtual Environment version 8.1 or later.
|
||||||
|
|
||||||
## 2024-06-27
|
## 2024-06-27
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **Kubo LXC**
|
- **Kubo LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/kubo-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
- **RabbitMQ LXC**
|
- **RabbitMQ LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/rabbitmq-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
- **Scrutiny LXC**
|
- **Scrutiny LXC**
|
||||||
- Removed from website, broken.
|
- Removed from website, broken.
|
||||||
@@ -39,27 +55,27 @@
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **MySpeed LXC**
|
- **MySpeed LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/myspeed-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
|
|
||||||
## 2024-06-13
|
## 2024-06-13
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **PeaNUT LXC**
|
- **PeaNUT LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/peanut-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
- **Website**
|
- **Website**
|
||||||
- If the Changelog has changed recently, the link on the website will pulse.
|
- 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
|
- NEW Script
|
||||||
|
|
||||||
## 2024-06-12
|
## 2024-06-12
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **MeTube LXC**
|
- **MeTube LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/metube-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
- **Matterbridge LXC**
|
- **Matterbridge LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/matterbridge-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
- **Website**
|
- **Website**
|
||||||
- Reopen the gh-pages site (https://tteck.github.io/Proxmox/)
|
- Reopen the gh-pages site (https://tteck.github.io/Proxmox/)
|
||||||
@@ -68,14 +84,14 @@
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **Zabbix LXC**
|
- **Zabbix LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/zabbix-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
|
|
||||||
## 2024-06-06
|
## 2024-06-06
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **Petio LXC**
|
- **Petio LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/petio-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
- **Website**
|
- **Website**
|
||||||
- Important notices will now be displayed on the landing page.
|
- Important notices will now be displayed on the landing page.
|
||||||
@@ -84,14 +100,14 @@
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **FlareSolverr LXC**
|
- **FlareSolverr LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/flaresolverr-install.sh)
|
||||||
- NEW Script
|
- NEW Script
|
||||||
|
|
||||||
## 2024-05-31
|
## 2024-05-31
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **Advanced Settings**
|
- **Advanced Settings** [(Commit)](https://github.com/tteck/Proxmox/commit/fc9dff220b4ea426d3a75178ad8accacae4683ca)
|
||||||
- Passwords are now masked
|
- Passwords are now masked
|
||||||
|
|
||||||
## 2024-05-30
|
## 2024-05-30
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<h1 align="center">Proxmox VE Helper-Scripts</h1>
|
<h1 align="center">Proxmox VE Helper-Scripts</h1>
|
||||||
|
|
||||||
<p align="center">
|
<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/.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/USER_SUBMITTED_GUIDES.md">Guides</a> |
|
||||||
<a href="https://github.com/tteck/Proxmox/blob/main/CHANGELOG.md">Changelog</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.
|
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.
|
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
@@ -57,22 +57,20 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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"
|
msg_info "Stopping ErsatzTV"
|
||||||
systemctl stop ersatzTV
|
systemctl stop ersatzTV
|
||||||
msg_ok "Stopped ErsatzTV"
|
msg_ok "Stopped ErsatzTV"
|
||||||
|
|
||||||
msg_info "Updating ErsatzTV"
|
msg_info "Updating ErsatzTV"
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
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
|
cp -R /opt/ErsatzTV/ ErsatzTV-backup
|
||||||
rm -rf /opt/ErsatzTV/ErsatzTV_bak
|
rm ErsatzTV-backup/ErsatzTV
|
||||||
fi
|
rm -rf /opt/ErsatzTV
|
||||||
mv /opt/ErsatzTV/ErsatzTV /opt/ErsatzTV/ErsatzTV_bak
|
|
||||||
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
|
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
|
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
||||||
|
cp -R ErsatzTV-backup/* /opt/ErsatzTV/
|
||||||
|
rm -rf ErsatzTV-backup
|
||||||
msg_ok "Updated ErsatzTV"
|
msg_ok "Updated ErsatzTV"
|
||||||
|
|
||||||
msg_info "Starting ErsatzTV"
|
msg_info "Starting ErsatzTV"
|
||||||
|
|||||||
+77
@@ -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
@@ -69,4 +69,4 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
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"
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}
|
|||||||
git pull
|
git pull
|
||||||
yarn
|
yarn
|
||||||
npx playwright install-deps
|
npx playwright install-deps
|
||||||
|
yarn playwright install
|
||||||
yarn prisma generate
|
yarn prisma generate
|
||||||
yarn build
|
yarn build
|
||||||
yarn prisma migrate deploy
|
yarn prisma migrate deploy
|
||||||
|
|||||||
+73
@@ -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
@@ -54,37 +54,8 @@ function default_settings() {
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /root/Matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
|
msg_error "Update via the Matterbridge UI"
|
||||||
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
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ if [[ ! -f /etc/systemd/system/n8n.service ]]; then msg_error "No ${APP} Install
|
|||||||
fi
|
fi
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
npm update -g n8n &>/dev/null
|
npm update -g n8n &>/dev/null
|
||||||
|
systemctl restart n8n
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-4
@@ -55,10 +55,7 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
msg_info "Updating $APP LXC"
|
msg_error "There is currently no update path available."
|
||||||
apt-get update &>/dev/null
|
|
||||||
apt-get -y upgrade &>/dev/null
|
|
||||||
msg_ok "Updated $APP LXC"
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -55,7 +55,7 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -f /etc/systemd/system/traefik.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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"
|
msg_info "Updating $APP LXC"
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
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
|
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
|
||||||
|
|||||||
+2
-4
@@ -55,9 +55,7 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/trilium ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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 |
|
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
grep "tag_name" |
|
|
||||||
awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop trilium.service
|
systemctl stop trilium.service
|
||||||
@@ -65,7 +63,7 @@ sleep 1
|
|||||||
msg_ok "Stopped ${APP}"
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
msg_info "Updating to v${RELEASE}"
|
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
|
tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz &>/dev/null
|
||||||
cp -r trilium-linux-x64-server/* /opt/trilium/
|
cp -r trilium-linux-x64-server/* /opt/trilium/
|
||||||
msg_ok "Updated to v${RELEASE}"
|
msg_ok "Updated to v${RELEASE}"
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ cat <<"EOF"
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
header_info
|
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..."
|
echo -e "Loading..."
|
||||||
APP="Unifi"
|
APP="Unifi"
|
||||||
var_disk="8"
|
var_disk="8"
|
||||||
|
|||||||
@@ -128,6 +128,9 @@ function update_script() {
|
|||||||
if ! command -v argon2 >/dev/null 2>&1; then apt-get install -y argon2 &>/dev/null; fi
|
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)
|
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
|
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
|
systemctl restart vaultwarden
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
|
|||||||
+25
-37
@@ -23,8 +23,8 @@ header_info
|
|||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="Wastebin"
|
APP="Wastebin"
|
||||||
var_disk="4"
|
var_disk="4"
|
||||||
var_cpu="4"
|
var_cpu="1"
|
||||||
var_ram="2048"
|
var_ram="1024"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="12"
|
||||||
variables
|
variables
|
||||||
@@ -58,39 +58,31 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/wastebin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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) }')
|
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 [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
if [ -d wastebin_bak ]; then
|
msg_info "Stopping Wastebin"
|
||||||
rm -rf wastebin_bak
|
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
|
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
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,10 +90,6 @@ start
|
|||||||
build_container
|
build_container
|
||||||
description
|
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"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:8088${CL} \n"
|
${BL}http://${IP}:8088${CL} \n"
|
||||||
|
|||||||
@@ -17,10 +17,9 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y curl
|
$STD apt-get install -y curl
|
||||||
$STD apt-get install -y sudo
|
$STD apt-get install -y sudo
|
||||||
$STD apt-get install -y mc
|
$STD apt-get install -y mc
|
||||||
$STD apt-get install -y gnupg2
|
$STD apt-get install -y gpg
|
||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y apt-transport-https
|
||||||
$STD apt-get install -y lsb-release
|
$STD apt-get install -y lsb-release
|
||||||
$STD apt-get install -y debian-archive-keyring
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Nginx"
|
msg_info "Installing Nginx"
|
||||||
@@ -31,9 +30,11 @@ $STD apt-get install -y nginx
|
|||||||
msg_ok "Installed 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) }')
|
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
|
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}
|
$STD apt-get install -y bunkerweb=${RELEASE}
|
||||||
cat <<EOF >/etc/apt/preferences.d/bunkerweb
|
cat <<EOF >/etc/apt/preferences.d/bunkerweb
|
||||||
Package: bunkerweb
|
Package: bunkerweb
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ msg_ok "Installed Change Detection"
|
|||||||
msg_info "Installing Browserless & Playwright"
|
msg_info "Installing Browserless & Playwright"
|
||||||
mkdir /opt/browserless
|
mkdir /opt/browserless
|
||||||
$STD python3 -m pip install playwright
|
$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 install --prefix /opt/browserless
|
||||||
$STD npm run build --prefix /opt/browserless
|
$STD npm run build --prefix /opt/browserless
|
||||||
$STD npm prune production --prefix /opt/browserless
|
$STD npm prune production --prefix /opt/browserless
|
||||||
@@ -123,8 +123,8 @@ Wants=browserless.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/changedetection
|
WorkingDirectory=/opt/changedetection
|
||||||
Environment="WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub"
|
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=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
|
ExecStart=changedetection.io -d /opt/changedetection -p 5000
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
+12
-12
@@ -15,21 +15,21 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y --no-install-recommends \
|
$STD apt-get install -y curl
|
||||||
ffmpeg \
|
$STD apt-get install -y sudo
|
||||||
build-essential \
|
$STD apt-get install -y mc
|
||||||
unzip \
|
|
||||||
pkg-config \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
git \
|
|
||||||
make \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
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)
|
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
|
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
|
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
# Copyright (c) 2021-2024 tteck
|
||||||
# Authors: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
|
# Co-Author: remz1337
|
||||||
# License: MIT
|
# License: MIT
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||||
|
|
||||||
@@ -14,11 +15,12 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
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_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Python3 Dependencies"
|
msg_info "Installing Python3 Dependencies"
|
||||||
$STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutils,python3-pip}
|
$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_ok "Installed Python3 Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
msg_info "Installing Node.js"
|
||||||
@@ -62,6 +64,7 @@ export TARGETARCH="amd64"
|
|||||||
echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections
|
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
|
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 /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/ffmpeg /usr/local/bin/ffmpeg
|
||||||
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||||
$STD pip3 install -U /wheels/*.whl
|
$STD pip3 install -U /wheels/*.whl
|
||||||
@@ -118,7 +121,7 @@ if grep -q -o -m1 'avx[^ ]*' /proc/cpuinfo; then
|
|||||||
detectors:
|
detectors:
|
||||||
ov:
|
ov:
|
||||||
type: openvino
|
type: openvino
|
||||||
device: AUTO
|
device: CPU
|
||||||
model:
|
model:
|
||||||
path: /openvino-model/FP16/ssdlite_mobilenet_v2.xml
|
path: /openvino-model/FP16/ssdlite_mobilenet_v2.xml
|
||||||
model:
|
model:
|
||||||
@@ -168,11 +171,18 @@ msg_ok "Installed Coral Object Detection Model"
|
|||||||
|
|
||||||
msg_info "Building Nginx with Custom Modules"
|
msg_info "Building Nginx with Custom Modules"
|
||||||
$STD /opt/frigate/docker/main/build_nginx.sh
|
$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/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
|
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_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"
|
msg_info "Creating Services"
|
||||||
cat <<EOF >/etc/systemd/system/create_directories.service
|
cat <<EOF >/etc/systemd/system/create_directories.service
|
||||||
[Unit]
|
[Unit]
|
||||||
@@ -200,7 +210,7 @@ Restart=always
|
|||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
ExecStartPre=+rm /dev/shm/logs/go2rtc/current
|
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
|
StandardOutput=file:/dev/shm/logs/go2rtc/current
|
||||||
StandardError=file:/dev/shm/logs/go2rtc/current
|
StandardError=file:/dev/shm/logs/go2rtc/current
|
||||||
|
|
||||||
@@ -222,7 +232,7 @@ Restart=always
|
|||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
ExecStartPre=+rm /dev/shm/logs/frigate/current
|
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
|
StandardOutput=file:/dev/shm/logs/frigate/current
|
||||||
StandardError=file:/dev/shm/logs/frigate/current
|
StandardError=file:/dev/shm/logs/frigate/current
|
||||||
|
|
||||||
@@ -244,7 +254,7 @@ Restart=always
|
|||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
ExecStartPre=+rm /dev/shm/logs/nginx/current
|
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
|
StandardOutput=file:/dev/shm/logs/nginx/current
|
||||||
StandardError=file:/dev/shm/logs/nginx/current
|
StandardError=file:/dev/shm/logs/nginx/current
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
@@ -74,6 +74,7 @@ RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/la
|
|||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
$STD yarn
|
$STD yarn
|
||||||
$STD npx playwright install-deps
|
$STD npx playwright install-deps
|
||||||
|
$STD yarn playwright install
|
||||||
IP=$(hostname -I | awk '{print $1}')
|
IP=$(hostname -I | awk '{print $1}')
|
||||||
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
|
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
|
||||||
env_path="/opt/linkwarden/.env"
|
env_path="/opt/linkwarden/.env"
|
||||||
|
|||||||
@@ -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"
|
||||||
@@ -15,17 +15,11 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y --no-install-recommends \
|
$STD apt-get install -y curl
|
||||||
build-essential \
|
$STD apt-get install -y sudo
|
||||||
unzip \
|
$STD apt-get install -y mc
|
||||||
curl \
|
$STD apt-get install -y gpg
|
||||||
sudo \
|
|
||||||
git \
|
|
||||||
make \
|
|
||||||
gnupg \
|
|
||||||
ca-certificates \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
msg_info "Setting up Node.js Repository"
|
||||||
@@ -40,15 +34,8 @@ $STD apt-get install -y nodejs
|
|||||||
msg_ok "Installed Node.js"
|
msg_ok "Installed Node.js"
|
||||||
|
|
||||||
msg_info "Install Matterbridge"
|
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) }')
|
mkdir -p /root/Matterbridge
|
||||||
wget -q "https://github.com/Luligu/matterbridge/archive/refs/tags/${RELEASE}.zip"
|
$STD npm install -g matterbridge
|
||||||
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
|
|
||||||
msg_ok "Installed Matterbridge"
|
msg_ok "Installed Matterbridge"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -59,16 +46,13 @@ After=network-online.target
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/usr/bin/npm run start:bridge
|
ExecStart=matterbridge -bridge -service
|
||||||
WorkingDirectory=/opt/matterbridge
|
WorkingDirectory=/root/Matterbridge
|
||||||
StandardOutput=inherit
|
StandardOutput=inherit
|
||||||
StandardError=inherit
|
StandardError=inherit
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10s
|
RestartSec=10s
|
||||||
TimeoutStopSec=30s
|
TimeoutStopSec=30s
|
||||||
User=root
|
|
||||||
Environment=PATH=/usr/bin:/usr/local/bin:/opt/matterbridge/bin
|
|
||||||
Environment=NODE_ENV=production
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ msg_info "Creating user octoprint"
|
|||||||
useradd -m -s /bin/bash -p $(openssl passwd -1 octoprint) octoprint
|
useradd -m -s /bin/bash -p $(openssl passwd -1 octoprint) octoprint
|
||||||
usermod -aG sudo,tty,dialout octoprint
|
usermod -aG sudo,tty,dialout octoprint
|
||||||
chown -R octoprint:octoprint /opt
|
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_ok "Created user octoprint"
|
||||||
|
|
||||||
msg_info "Installing OctoPrint"
|
msg_info "Installing OctoPrint"
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ $STD npm install
|
|||||||
$STD npm run build
|
$STD npm run build
|
||||||
$STD pm2 start --name="pingvin-share-backend" npm -- run prod
|
$STD pm2 start --name="pingvin-share-backend" npm -- run prod
|
||||||
cd ../frontend
|
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 install
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
$STD pm2 start --name="pingvin-share-frontend" npm -- run start
|
$STD pm2 start --name="pingvin-share-frontend" npm -- run start
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ $STD apt-get install -y gpg
|
|||||||
$STD apt-get install -y apt-transport-https
|
$STD apt-get install -y apt-transport-https
|
||||||
msg_ok "Installed Dependencies"
|
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}"
|
msg_info "Installing Traefik v${RELEASE}"
|
||||||
mkdir -p /etc/traefik/{conf.d,ssl}
|
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
|
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
|
||||||
|
|||||||
@@ -19,15 +19,13 @@ $STD apt-get install -y sudo
|
|||||||
$STD apt-get install -y mc
|
$STD apt-get install -y mc
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/zadam/trilium/releases/latest |
|
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
grep "tag_name" |
|
|
||||||
awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
|
|
||||||
msg_info "Installing Trilium"
|
msg_info "Installing TriliumNext"
|
||||||
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
|
||||||
$STD tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz
|
$STD tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz
|
||||||
mv trilium-linux-x64-server /opt/trilium
|
mv trilium-linux-x64-server /opt/trilium
|
||||||
msg_ok "Installed Trilium"
|
msg_ok "Installed TriliumNext"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
service_path="/etc/systemd/system/trilium.service"
|
service_path="/etc/systemd/system/trilium.service"
|
||||||
|
|||||||
+12
-23
@@ -15,30 +15,20 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y --no-install-recommends \
|
$STD apt-get install -y curl
|
||||||
build-essential \
|
$STD apt-get install -y sudo
|
||||||
unzip \
|
$STD apt-get install -y mc
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
git \
|
|
||||||
make \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Rust (Patience)"
|
msg_info "Installing Wastebin"
|
||||||
$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)"
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
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"
|
wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
||||||
unzip -q ${RELEASE}.zip
|
tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
||||||
mv wastebin-${RELEASE} /opt/wastebin
|
rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
||||||
rm -R ${RELEASE}.zip
|
mkdir -p /opt/wastebin
|
||||||
cd /opt/wastebin
|
mv wastebin /opt/wastebin/
|
||||||
cargo build -q --release
|
chmod +x /opt/wastebin/wastebin
|
||||||
msg_ok "Installed Wastebin"
|
msg_ok "Installed Wastebin"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -48,9 +38,8 @@ Description=Start Wastebin Service
|
|||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=root
|
|
||||||
WorkingDirectory=/opt/wastebin
|
WorkingDirectory=/opt/wastebin
|
||||||
ExecStart=/root/.cargo/bin/cargo run --release --quiet
|
ExecStart=/opt/wastebin/wastebin
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
+4
-1
@@ -87,7 +87,10 @@ msg_error() {
|
|||||||
setting_up_container() {
|
setting_up_container() {
|
||||||
msg_info "Setting up Container OS"
|
msg_info "Setting up Container OS"
|
||||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
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
|
locale-gen >/dev/null
|
||||||
|
export LANG=${locale_line}
|
||||||
echo $tz >/etc/timezone
|
echo $tz >/etc/timezone
|
||||||
ln -sf /usr/share/zoneinfo/$tz /etc/localtime
|
ln -sf /usr/share/zoneinfo/$tz /etc/localtime
|
||||||
for ((i = RETRY_NUM; i > 0; i--)); do
|
for ((i = RETRY_NUM; i > 0; i--)); do
|
||||||
@@ -114,7 +117,7 @@ network_check() {
|
|||||||
trap - ERR
|
trap - ERR
|
||||||
ipv4_connected=false
|
ipv4_connected=false
|
||||||
ipv6_connected=false
|
ipv6_connected=false
|
||||||
|
sleep 1
|
||||||
# Check IPv4 connectivity
|
# Check IPv4 connectivity
|
||||||
if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then
|
if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then
|
||||||
msg_ok "IPv4 Internet Connected";
|
msg_ok "IPv4 Internet Connected";
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ for container in $(pct list | awk '{if(NR>1) print $1}'); do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ "$excluded" == true ]; then
|
if [ "$excluded" == true ]; then
|
||||||
header_info
|
|
||||||
echo -e "[Info] Skipping $container"
|
echo -e "[Info] Skipping $container"
|
||||||
sleep 1
|
sleep 1
|
||||||
else
|
else
|
||||||
|
|||||||
+1
-1
@@ -101,7 +101,7 @@ for container in $(pct list | awk '{if(NR>1) print $1}'); do
|
|||||||
done
|
done
|
||||||
wait
|
wait
|
||||||
header_info
|
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
|
if [ "${#containers_needing_reboot[@]}" -gt 0 ]; then
|
||||||
echo -e "${RD}The following containers require a reboot:${CL}"
|
echo -e "${RD}The following containers require a reboot:${CL}"
|
||||||
for container_name in "${containers_needing_reboot[@]}"; do
|
for container_name in "${containers_needing_reboot[@]}"; do
|
||||||
|
|||||||
+1
-1
@@ -428,7 +428,7 @@ nfs | dir)
|
|||||||
DISK_IMPORT="-format raw"
|
DISK_IMPORT="-format raw"
|
||||||
THIN=""
|
THIN=""
|
||||||
;;
|
;;
|
||||||
btrfs)
|
btrfs | local-zfs)
|
||||||
DISK_EXT=".raw"
|
DISK_EXT=".raw"
|
||||||
DISK_REF="$VMID/"
|
DISK_REF="$VMID/"
|
||||||
DISK_IMPORT="-format raw"
|
DISK_IMPORT="-format raw"
|
||||||
|
|||||||
@@ -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_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}."
|
||||||
msg_info "Getting URL for Mikrotik RouterOS CHR Disk Image"
|
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
|
sleep 2
|
||||||
msg_ok "${CL}${BL}${URL}${CL}"
|
msg_ok "${CL}${BL}${URL}${CL}"
|
||||||
|
|||||||
Reference in New Issue
Block a user