Compare commits

..

51 Commits

Author SHA1 Message Date
tteckster
5b1bcc0ae8 tweak 2023-03-22 15:21:30 -04:00
tteckster
38381bb6ef indentation 2023-03-22 14:59:10 -04:00
tteckster
602d4496f8 indentation 2023-03-22 14:50:55 -04:00
tteckster
e52813fb32 tweak 2023-03-22 13:43:26 -04:00
tteckster
9959493984 grafana exit-script 2023-03-22 12:41:41 -04:00
tteckster
089bb495d5 Update omada-install.sh
update to v5.9.31
2023-03-22 10:42:02 -04:00
tteckster
7ada0b397f tweaks 2023-03-21 23:25:10 -04:00
tteckster
c83c35edba tweak 2023-03-21 23:17:13 -04:00
tteckster
d3019cff30 finish 2023-03-21 23:03:57 -04:00
tteckster
54da0726a4 tweak 2023-03-21 22:28:19 -04:00
tteckster
c3658c260f menu 2023-03-21 22:14:03 -04:00
tteckster
ae7a064932 tweak 2023-03-21 22:10:04 -04:00
tteckster
54e3870b5d alpine whiptail menu 2023-03-21 22:08:04 -04:00
tteckster
6464229f14 menu 2023-03-21 21:42:23 -04:00
tteckster
db58c365b5 menu 2023-03-21 21:39:24 -04:00
tteckster
669fcbd4a6 alpine-vaultwarden test 2023-03-21 21:28:28 -04:00
tteckster
0717c28a9b close 2023-03-21 21:14:23 -04:00
tteckster
58504967cf i=$RETRY_NUM 2023-03-21 21:06:33 -04:00
tteckster
acf3a9c978 alpine 2023-03-21 20:54:42 -04:00
tteckster
ea71ac6e8d alpine 2023-03-21 20:44:55 -04:00
tteckster
ddc557d534 alpine func 2023-03-21 20:41:15 -04:00
tteckster
45fe9f02cd alpine adguard 2023-03-21 20:29:58 -04:00
tteckster
6a25aade06 ubuntu 2023-03-21 20:07:14 -04:00
tteckster
c781dfeb4f tweak 2023-03-21 19:49:41 -04:00
tteckster
60971b2c27 finish? 2023-03-21 19:32:18 -04:00
tteckster
562e525aed variables 2023-03-21 16:19:45 -04:00
nicedevil007
7652d3db93 typo :) (#1206) 2023-03-21 16:16:07 -04:00
tteckster
55b7811d3e continue 2023-03-21 16:15:05 -04:00
tteckster
38ecb81a71 alpine 2023-03-21 15:29:45 -04:00
tteckster
20025269f7 again 2023-03-21 15:14:03 -04:00
tteckster
9f9d776661 last try 2023-03-21 15:09:58 -04:00
tteckster
07512da721 alpine again 2023-03-21 14:52:05 -04:00
tteckster
3c04f9185c alpine 2023-03-21 14:47:01 -04:00
tteckster
ed1f5e46e0 alpine 2023-03-21 14:42:18 -04:00
tteckster
8545c97649 alpine 2023-03-21 14:27:47 -04:00
tteckster
55628bd323 Update alpine-adguard-install.sh 2023-03-21 14:18:18 -04:00
tteckster
3adf54b79f Update alpine.func 2023-03-21 14:11:39 -04:00
tteckster
bed617c8a6 #!/bin/sh 2023-03-21 14:05:32 -04:00
tteckster
f72a12721c -qLO 2023-03-21 13:49:49 -04:00
tteckster
3a2859feca tweaks 2023-03-21 13:40:34 -04:00
tteckster
0adb39c4e1 alpine test 2023-03-21 12:44:56 -04:00
tteckster
c5e7807d55 stage 3 testing 2023-03-21 11:29:57 -04:00
tteckster
5b65bcc4a7 stage 2 testing 2023-03-21 10:11:40 -04:00
tteckster
be02b284f6 tweak docker.func 2023-03-21 08:56:54 -04:00
tteckster
5b3f4ff31d install.func 2023-03-21 08:43:10 -04:00
tteckster
00faa4a7c5 improve 2023-03-21 08:38:34 -04:00
tteckster
0c98defdc9 lxc.mount 2023-03-21 08:17:20 -04:00
tteckster
64f2a5c6d2 lxc.mount 2023-03-21 08:10:09 -04:00
tteckster
825bb8b175 CT_ID 2023-03-21 07:58:25 -04:00
tteckster
59b431c423 fix upper case 2023-03-21 07:43:04 -04:00
tteckster
b010903f58 stage 1 testing 2023-03-21 07:37:54 -04:00
441 changed files with 7712 additions and 26585 deletions

View File

@@ -1,14 +1,5 @@
<div align="center"> # Contributing to Proxmox Helper Scripts
<a href="#">
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</a>
</div>
<h2 align="center">Contributing to Proxmox VE Helper Scripts</h2>
Everybody is invited and welcome to contribute to Proxmox VE Helper Scripts. Everybody is invited and welcome to contribute to Proxmox Helper Scripts.
- Pull requests submitted against [**main**](https://github.com/tteck/Proxmox/tree/main) are meticulously scrutinized, so please do not take it personally if the project maintainer rejects your request. By adhering to the established patterns and conventions throughout the codebase, you greatly increase the likelihood that your changes will get merged into [**main**](https://github.com/tteck/Proxmox/tree/main). - Pull requests are always created against the [**pull-requests**](https://github.com/tteck/Proxmox/tree/pull-requests) branch.
- It is important to stress that complaining about a decision after it has been made is not productive behavior for the pull request submitter. It is crucial for all contributors to respect the decision-making process and collaborate effectively towards achieving the best possible outcome for the project.
- The repository will only accept Alpine applications that make use of the Alpine Package Keeper.

16
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,16 @@
---
name: Bug report
about: Create a report to help us improve (script related)
title: ''
labels: ''
assignees: ''
---
**Describe the issue**
A clear and concise description of what the bug is.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Bug reports will be closed after 12 hours of NO activity.**

View File

@@ -1,65 +0,0 @@
name: Problems with a script.
description: Generate a report on an issue pertaining specifically to a script. For other inquires please share them in the Discussions section.
body:
- type: markdown
attributes:
value: |
**IMPORTANT:** Failure to comply with the following guidelines may result in immediate closure.
- Prior to submitting, kindly search the closed issues to check if the problem you are reporting has already been addressed and resolved. If you come across a closed issue that pertains to your problem, please leave a comment on that issue instead of creating a new one.
- If the default Linux distribution is not adhered to, script support will be discontinued.
- When encountering the error message `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, make sure to run the script in verbose mode to accurately determine the underlying issue.
- For suggestions, questions or feature/script requests, please share them in the [Discussions section.](https://github.com/tteck/Proxmox/discussions)
- type: input
id: guidelines
attributes:
label: Please verify that you have read and understood the guidelines.
placeholder: 'yes'
validations:
required: true
- type: textarea
id: bug
attributes:
label: A clear and concise description of the issue.
validations:
required: true
- type: dropdown
id: settings
validations:
required: true
attributes:
label: What settings are you currently utilizing?
options:
-
- Default Settings
- Advanced Settings
- type: markdown
attributes:
value: (if Advanced Settings, please try Default Settings before creating an issue)
- type: dropdown
id: distribution
validations:
required: true
attributes:
label: Which Linux distribution are you employing?
options:
-
- Alpine
- Debian 11
- Debian 12
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
- type: textarea
id: screenshot
attributes:
label: If relevant, including screenshots or a code block can be helpful in clarifying the issue.
placeholder: Code blocks begin and conclude by enclosing the code with three backticks (```) above and below it.
validations:
required: false
- type: textarea
id: reproduce
attributes:
label: Please provide detailed steps to reproduce the issue.
placeholder: First do this, then this ...
validations:
required: false

View File

@@ -1,5 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Helper-Scripts Community Support
url: https://github.com/tteck/Proxmox/discussions
about: Please ask and answer questions here.

View File

@@ -0,0 +1,11 @@
---
name: Feature/Script Request
about: Suggest an idea for this project in Discussions
title: Please submit feature/script requests in Discussions
labels: Feature Request
assignees: tteck
---
Please submit feature/script requests in Discussions
https://github.com/tteck/Proxmox/discussions

View File

@@ -1,20 +1,16 @@
> [!NOTE] # All Pull Requests should be made to the `pull-requests` branch
I am meticulous when it comes to merging code into the main branch, so please understand that I may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.
## Description ## Description
Provide a summary of the changes made and/or reference the issue being addressed. Please include a summary of the change and/or which issue is fixed.
Fixes # (issue) Fixes # (issue)
## Type of change ## Type of change
Please check the relevant option(s): Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change that resolves an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
- [ ] New script (a fully functional and thoroughly tested script or set of scripts.)
- [ ] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
- [ ] Documentation update required (this change requires an update to the documentation)
- [ ] Bug fix
- [ ] New feature
- [ ] New Script
- [ ] This change requires a documentation update

1188
CHANGELOG.MD Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +0,0 @@
<div align="center">
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</div>
<h2><div align="center">Exploring the Scripts and Steps Involved in an Application LXC Installation</div></h2>
1) [adguard.sh](https://github.com/tteck/Proxmox/blob/main/ct/adguard.sh): This script collects system parameters. (Also holds the function to update the application.)
2) [build.func](https://github.com/tteck/Proxmox/blob/main/misc/build.func): Adds user settings and integrates collected information.
3) [create_lxc.sh](https://github.com/tteck/Proxmox/blob/main/ct/create_lxc.sh): Constructs the LXC container.
4) [adguard-install.sh](https://github.com/tteck/Proxmox/blob/main/install/adguard-install.sh): Executes functions from [install.func](https://github.com/tteck/Proxmox/blob/main/misc/install.func), and installs the application.
5) [adguard.sh](https://github.com/tteck/Proxmox/blob/main/ct/adguard.sh) (again): To display the completion message.
The installation process uses reusable scripts: [build.func](https://github.com/tteck/Proxmox/blob/main/misc/build.func), [create_lxc.sh](https://github.com/tteck/Proxmox/blob/main/ct/create_lxc.sh), and [install.func](https://github.com/tteck/Proxmox/blob/main/misc/install.func), which are not specific to any particular application.
To gain a better understanding, focus on reviewing [adguard-install.sh](https://github.com/tteck/Proxmox/blob/main/install/adguard-install.sh). This script contains the commands and configurations for installing and configuring AdGuard Home within the LXC container.

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2021-2024 tteck Copyright (c) 2021-2023 tteck
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,25 +1,4 @@
<div style="border: 2px solid #d1d5db; padding: 20px; border-radius: 8px; background-color: #f9fafb;"> <h2 align="center">Proxmox VE Helper-Scripts: A Community Legacy</h2> <p>Dear Community,</p> <p>As we prepare to archive this repository, were excited to announce a new home for the project: <a href="https://github.com/community-scripts/ProxmoxVE">https://github.com/community-scripts/ProxmoxVE</a>. While were still settling in, this will soon become the go-to place for the latest Proxmox VE scripts.</p> <p>Thank you for your continued support.</p> <br>The Community </div> <sub>These script's allows for the creation of a Linux container or virtual machine in an interactive manner, with options for both basic and advanced configurations. The basic setup uses default settings, while the advanced setup provides additional options such as container type, root password, hostname, disk size, core count, RAM size, network settings, and others. The options are presented in a dialog box format using the whiptail command and the script collects and validates the user's input to generate the final configuration of the container or virtual machine.</sub>
<div align="center">
<a href="#">
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</a>
</div>
<h1 align="center">Proxmox VE Helper-Scripts</h1>
<p align="center"> <h1><p align="center"><a href="https://tteck.github.io/Proxmox/">Proxmox Helper Scripts</a></p></h1>
<a href="https://helper-scripts.com">Website</a> | <sub><div align="center"> Be cautious and thoroughly evaluate scripts and automation tasks obtained from external sources.</div></sub>
<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> |
<a href="https://ko-fi.com/D1D7EP4GF">Support</a>
</p>
---
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.
<p align="center">
Be cautious and thoroughly evaluate scripts and automation tasks obtained from external sources. <a href="https://github.com/tteck/Proxmox/blob/main/CODE-AUDIT.md">Read more</a>
</p>
<sub><div align="center"> Proxmox® is a registered trademark of Proxmox Server Solutions GmbH. </div></sub>

View File

@@ -1,44 +0,0 @@
<div align="center">
<a href="#">
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
</a>
</div>
<h2 align="center">User Submitted Guides </h2>
<sub> In order to contribute a guide on installing with Proxmox VE Helper Scripts, you should open a pull request that adds the guide to the `USER_SUBMITTED_GUIDES.md` file. </sub>
[Proxmox Automation with Proxmox Helper Scripts!](https://www.youtube.com/watch?v=kcpu4z5eSEU)
[Installing Home Assistant OS using Proxmox 8](https://community.home-assistant.io/t/installing-home-assistant-os-using-proxmox-8/201835)
[How To Separate Zigbee2MQTT From Home Assistant In Proxmox](https://smarthomescene.com/guides/how-to-separate-zigbee2mqtt-from-home-assistant-in-proxmox/)
[How To Install Home Assistant On Proxmox: The Easy Way](https://smarthomescene.com/guides/how-to-install-home-assistant-on-proxmox-the-easy-way/)
[Home Assistant: Installing InfluxDB (LXC)](https://www.derekseaman.com/2023/04/home-assistant-installing-influxdb-lxc.html)
[Home Assistant: Proxmox Quick Start Guide](https://www.derekseaman.com/2023/10/home-assistant-proxmox-ve-8-0-quick-start-guide-2.html)
[Home Assistant: Installing Grafana (LXC) with Lets Encrypt SSL](https://www.derekseaman.com/2023/04/home-assistant-installing-grafana-lxc.html)
[Proxmox: Plex LXC with Alder Lake Transcoding](https://www.derekseaman.com/2023/04/proxmox-plex-lxc-with-alder-lake-transcoding.html)
[How To Backup Home Assistant In Proxmox](https://smarthomescene.com/guides/how-to-backup-home-assistant-in-proxmox/)
[Running Frigate on Proxmox](https://www.homeautomationguy.io/blog/running-frigate-on-proxmox)
[Frigate VM on Proxmox with PCIe Coral TPU](https://www.derekseaman.com/2023/06/home-assistant-frigate-vm-on-proxmox-with-pcie-coral-tpu.html)
[Moving Home Assistants Database To MariaDB On Proxmox](https://smarthomescene.com/guides/moving-home-assistants-database-to-mariadb-on-proxmox/)
[How-to: Proxmox VE 7.4 to 8.0 Upgrade](https://www.derekseaman.com/2023/06/how-to-proxmox-7-4-to-8-0-upgrade.html)
[iGPU Transcoding In Proxmox with Jellyfin](https://www.youtube.com/watch?v=XAa_qpNmzZs)
[Proxmox + NetData](<https://dbt3ch.com/books/proxmox-netdata-for-better-insights-and-notifications/page/proxmox-netdata-for-better-insights-and-notifications>)
[Proxmox Homelab Series](<https://blog.kye.dev/proxmox-series>)
[The fastest installation of Docker and Portainer on Proxmox VE](https://lavr.site/en-fastest-install-docker-portainer-proxmox/)
[How To Setup Proxmox Backuper Server Using Helper Scripts](<https://youtu.be/6C2JOsrZZZw?si=kkrrcL_nLCDBJkOB>)

View File

@@ -1,77 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ __ ____ __ __
/ | _____/ /___ ______ _/ / / __ )__ ______/ /___ ____ / /_
/ /| |/ ___/ __/ / / / __ `/ / / __ / / / / __ / __ `/ _ \/ __/
/ ___ / /__/ /_/ /_/ / /_/ / / / /_/ / /_/ / /_/ / /_/ / __/ /_
/_/ |_\___/\__/\__,_/\__,_/_/ /_____/\__,_/\__,_/\__, /\___/\__/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Actual Budget"
var_disk="4"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/actualbudget ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP}"
systemctl stop actualbudget.service
cd /opt/actualbudget
git pull &>/dev/null
yarn install &>/dev/null
systemctl start actualbudget.service
msg_ok "Successfully Updated ${APP}"
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 1024
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:5006${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -56,16 +54,12 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/AdGuardHome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/AdGuardHome ]]; 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
wget -qL https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
msg_info "Stopping AdguardHome" msg_info "Stopping AdguardHome"
systemctl stop AdGuardHome systemctl stop AdGuardHome
msg_ok "Stopped AdguardHome" msg_ok "Stopped AdguardHome"
msg_info "Updating AdguardHome" msg_info "Updating AdguardHome"
wget -qL https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
tar -xvf AdGuardHome_linux_amd64.tar.gz &>/dev/null tar -xvf AdGuardHome_linux_amd64.tar.gz &>/dev/null
mkdir -p adguard-backup mkdir -p adguard-backup
cp -r /opt/AdGuardHome/AdGuardHome.yaml /opt/AdGuardHome/data adguard-backup/ cp -r /opt/AdGuardHome/AdGuardHome.yaml /opt/AdGuardHome/data adguard-backup/
@@ -80,7 +74,7 @@ msg_ok "Started AdguardHome"
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf AdGuardHome_linux_amd64.tar.gz AdGuardHome adguard-backup rm -rf AdGuardHome_linux_amd64.tar.gz AdGuardHome adguard-backup
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,110 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
# Co-Author: MickLesk (Canbiz)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ __ __
/ | ____/ / _____ ____ / /___ __________ / / ____ ____ _
/ /| |/ __ / | / / _ \/ __ \/ __/ / / / ___/ _ \/ / / __ \/ __ `/
/ ___ / /_/ /| |/ / __/ / / / /_/ /_/ / / / __/ /___/ /_/ / /_/ /
/_/ |_\__,_/ |___/\___/_/ /_/\__/\__,_/_/ \___/_____/\____/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="AdventureLog"
var_disk="7"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/adventurelog ]]; 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
RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Services"
systemctl stop adventurelog-backend
systemctl stop adventurelog-frontend
msg_ok "Services Stopped"
msg_info "Updating ${APP} to ${RELEASE}"
cp /opt/adventurelog/backend/server/.env /opt/server.env
cp /opt/adventurelog/frontend/env /opt/frontend.env
wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
mv AdventureLog-${RELEASE} /opt/adventurelog
mv /opt/server.env /opt/adventurelog/backend/server/.env
cd /opt/adventurelog/backend/server
pip install --upgrade pip &>/dev/null
pip install -r requirements.txt &>/dev/null
python3 manage.py collectstatic --noinput &>/dev/null
python3 manage.py migrate &>/dev/null
mv /opt/frontend.env /opt/adventurelog/frontend/.env
cd /opt/adventurelog/frontend
pnpm install &>/dev/null
pnpm run build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
msg_info "Starting Services"
systemctl start adventurelog-backend
systemctl start adventurelog-frontend
msg_ok "Started Services"
msg_info "Cleaning Up"
rm -rf v${RELEASE}.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:3000${CL} \n"

View File

@@ -1,68 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ ____ _ ______
/ | ____ ____ ____ / /_/ __ \ | / / __ \
/ /| |/ __ `/ _ \/ __ \/ __/ / / / | / / /_/ /
/ ___ / /_/ / __/ / / / /_/ /_/ /| |/ / _, _/
/_/ |_\__, /\___/_/ /_/\__/_____/ |___/_/ |_|
/____/
EOF
}
header_info
echo -e "Loading..."
APP="AgentDVR"
var_disk="8"
var_cpu="2"
var_ram="2048"
var_os="ubuntu"
var_version="22.04"
variables
color
catch_errors
function default_settings() {
CT_TYPE="0"
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 [[ ! -d /opt/agentdvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP}${CL} should be reachable by going to the following URL.
${BL}http://${IP}:8090${CL} \n"

79
ct/alpine-adguard.sh Normal file
View File

@@ -0,0 +1,79 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpine.func)
# Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ __
/ | ____/ /___ ___ ______ __________/ /
/ /| |/ __ / __ / / / / __ / ___/ __ /
/ ___ / /_/ / /_/ / /_/ / /_/ / / / /_/ /
/_/ |_\__,_/\__, /\__,_/\__,_/_/ \__,_/
/____/ Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-AdGuard"
var_disk="0.3"
var_cpu="1"
var_ram="256"
var_os="alpine"
var_version="3.17"
variables
color
catch_errors
function default_settings() {
CT_TYPE="1"
PW="-password alpine"
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET=dhcp
GATE=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() {
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
"1" "Update LXC OS" ON \
"2" "Manually Update $APP" OFF \
3>&1 1>&2 2>&3)
header_info
if [ "$UPD" == "1" ]; then
apk update && apk upgrade
exit
fi
if [ "$UPD" == "2" ]; then
header_info
echo "In the process of creating a method to update"
exit
fi
}
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"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpine.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,24 +24,22 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_os="alpine" var_os="alpine"
var_version="3.19" var_version="3.17"
variables variables
color color
catch_errors catch_errors
function default_settings() { function default_settings() {
CT_TYPE="1" CT_TYPE="1"
PW="" PW="-password alpine"
CT_ID=$NEXTID CT_ID=$NEXTID
HN=$NSAPP HN=$NSAPP
DISK_SIZE="$var_disk" DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,27 +52,15 @@ function default_settings() {
} }
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
apk add -q newt "1" "Check for Docker Updates" ON \
fi 3>&1 1>&2 2>&3)
while true; do
CHOICE=$(
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 1 \
"1" "Check for Docker Updates" 3>&2 2>&1 1>&3
)
exit_status=$?
if [ $exit_status == 1 ]; then
clear
exit-script
fi
header_info header_info
case $CHOICE in if [ "$UPD" == "1" ]; then
1)
apk update && apk upgrade apk update && apk upgrade
exit exit
;; fi
esac
done
} }
start start

View File

@@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpine.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info { function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
______ ____ ______ ____
/ ____/________ _/ __/___ _____ ____ _ / ____/________ _/ __/___ _____ ____ _
/ / __/ ___/ __ / /_/ __ / __ \/ __ / / / __/ ___/ __ / /_/ __ / __ \/ __ /
@@ -20,28 +20,26 @@ EOF
header_info header_info
echo -e "Loading..." echo -e "Loading..."
APP="Alpine-Grafana" APP="Alpine-Grafana"
var_disk="1" var_disk="0.5"
var_cpu="1" var_cpu="1"
var_ram="256" var_ram="256"
var_os="alpine" var_os="alpine"
var_version="3.19" var_version="3.17"
variables variables
color color
catch_errors catch_errors
function default_settings() { function default_settings() {
CT_TYPE="1" CT_TYPE="1"
PW="" PW="-password alpine"
CT_ID=$NEXTID CT_ID=$NEXTID
HN=$NSAPP HN=$NSAPP
DISK_SIZE="$var_disk" DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,40 +52,17 @@ function default_settings() {
} }
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
apk add -q newt "1" "Check for Grafana Updates" ON \
fi 3>&1 1>&2 2>&3)
LXCIP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
while true; do header_info
CHOICE=$( if [ "$UPD" == "1" ]; then
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 3 \ apk update && apk upgrade
"1" "Check for Grafana Updates" \ exit;
"2" "Allow 0.0.0.0 for listening" \ else
"3" "Allow only ${LXCIP} for listening" 3>&2 2>&1 1>&3
)
exit_status=$?
if [ $exit_status == 1 ]; then
clear
exit-script exit-script
fi fi
header_info
case $CHOICE in
1)
apk update && apk upgrade
exit
;;
2)
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=0.0.0.0/g" /etc/conf.d/grafana
service grafana restart
exit
;;
3)
sed -i -e "s/cfg:server.http_addr=.*/cfg:server.http_addr=$LXCIP/g" /etc/conf.d/grafana
service grafana restart
exit
;;
esac
done
} }
start start

View File

@@ -1,94 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
_ __ __ __ __ __ __ __
/ | / /__ _ __/ /______/ /___ __ ______/ / / / / /_ __/ /_
/ |/ / _ \| |/_/ __/ ___/ / __ \/ / / / __ / / /_/ / / / / __ \
/ /| / __/> </ /_/ /__/ / /_/ / /_/ / /_/ / / __ / /_/ / /_/ /
/_/ |_/\___/_/|_|\__/\___/_/\____/\__,_/\__,_/ /_/ /_/\__,_/_.___/
Alpine
EOF
}
header_info
echo -e "Loading..."
APP="Alpine-Nextcloud"
var_disk="2"
var_cpu="2"
var_ram="1024"
var_os="alpine"
var_version="3.19"
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() {
if [[ ! -d /usr/share/webapps/nextcloud ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt
fi
while true; do
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
"1" "Nextcloud Login Credentials" ON \
"2" "Renew Self-signed Certificate" OFF \
3>&1 1>&2 2>&3)
exit_status=$?
if [ $exit_status == 1 ]; then
clear
exit-script
fi
header_info
case $CHOICE in
1)
cat nextcloud.creds
exit
;;
2)
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt -subj "/C=US/O=Nextcloud/OU=Domain Control Validated/CN=nextcloud.local" > /dev/null 2>&1
rc-service nginx restart
exit
;;
esac
done
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}https://${IP}${CL} \n"

View File

@@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpine.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info { function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
_ __ ____ __ _ __ ____ __
| | / /___ ___ __/ / /__ ______ __________/ /__ ____ | | / /___ ___ __/ / /__ ______ __________/ /__ ____
| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __ / _ \/ __ \ | | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __ / _ \/ __ \
@@ -24,24 +24,22 @@ var_disk="0.3"
var_cpu="1" var_cpu="1"
var_ram="256" var_ram="256"
var_os="alpine" var_os="alpine"
var_version="3.19" var_version="3.17"
variables variables
color color
catch_errors catch_errors
function default_settings() { function default_settings() {
CT_TYPE="1" CT_TYPE="1"
PW="" PW="-password alpine"
CT_ID=$NEXTID CT_ID=$NEXTID
HN=$NSAPP HN=$NSAPP
DISK_SIZE="$var_disk" DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,43 +52,22 @@ function default_settings() {
} }
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
apk add -q newt "1" "Update VaultWarden" ON \
fi "2" "Show Admin Token" OFF \
while true; do 3>&1 1>&2 2>&3)
CHOICE=$(
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 2 \ header_info
"1" "Update Vaultwarden" \ if [ "$UPD" == "1" ]; then
"2" "Reset ADMIN_TOKEN" 3>&2 2>&1 1>&3 apk update && apk upgrade
) exit;
exit_status=$? fi
if [ $exit_status == 1 ]; then
clear if [ "$UPD" == "2" ]; then
exit-script
fi
header_info header_info
case $CHOICE in cat /etc/conf.d/vaultwarden | grep "ADMIN_TOKEN" | awk '{print substr($2, 7) }'
1) exit;
apk update && apk upgrade && rc-service vaultwarden restart -q fi
exit
;;
2)
if NEWTOKEN=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then
if [[ -z "$NEWTOKEN" ]]; then exit-script; fi
if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi
TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1)
if [[ ! -f /var/lib/vaultwarden/config.json ]]; then
sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden
else
sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json
fi
rc-service vaultwarden restart -q
fi
clear
exit
;;
esac
done
} }
start start

View File

@@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpine.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info { function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
_____ _ __ ___ __ _______ ____________ _____ _ __ ___ __ _______ ____________
/__ / (_)___ _/ /_ ___ ___ |__ \ / |/ / __ \/_ __/_ __/ /__ / (_)___ _/ /_ ___ ___ |__ \ / |/ / __ \/_ __/_ __/
/ / / / __ / __ \/ _ \/ _ \__/ // /|_/ / / / / / / / / / / / / __ / __ \/ _ \/ _ \__/ // /|_/ / / / / / / / /
@@ -24,24 +24,22 @@ var_disk="0.3"
var_cpu="1" var_cpu="1"
var_ram="256" var_ram="256"
var_os="alpine" var_os="alpine"
var_version="3.19" var_version="3.17"
variables variables
color color
catch_errors catch_errors
function default_settings() { function default_settings() {
CT_TYPE="0" CT_TYPE="1"
PW="" PW="-password alpine"
CT_ID=$NEXTID CT_ID=$NEXTID
HN=$NSAPP HN=$NSAPP
DISK_SIZE="$var_disk" DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,27 +52,15 @@ function default_settings() {
} }
function update_script() { function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
apk add -q newt "1" "Check for Zigbee2MQTT Update" ON \
fi 3>&1 1>&2 2>&3)
while true; do
CHOICE=$( header_info
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 1 \ if [ "$UPD" == "1" ]; then
"1" "Check for Zigbee2MQTT Updates" 3>&2 2>&1 1>&3 apk update && apk upgrade
) exit;
exit_status=$? fi
if [ $exit_status == 1 ]; then
clear
exit-script
fi
header_info
case $CHOICE in
1)
apk update && apk upgrade
exit
;;
esac
done
} }
start start

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/alpine.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="0.1"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="alpine" var_os="alpine"
var_version="3.19" var_version="3.17"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,7 +52,7 @@ function default_settings() {
} }
function update_script() { function update_script() {
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \ UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
"1" "Check for Alpine Updates" ON \ "1" "Check for Alpine Updates" ON \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)

View File

@@ -1,68 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ ______ __
/ | ____ ____ ______/ /_ ___ / ____/___ _______________ _____ ____/ /________ _
/ /| | / __ \/ __ `/ ___/ __ \/ _ \ / / / __ `/ ___/ ___/ __ `/ __ \/ __ / ___/ __ `/
/ ___ |/ /_/ / /_/ / /__/ / / / __/ / /___/ /_/ (__ |__ ) /_/ / / / / /_/ / / / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\__,_/____/____/\__,_/_/ /_/\__,_/_/ \__,_/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Apache-Cassandra"
var_disk="4"
var_cpu="1"
var_ram="2048"
var_os="debian"
var_version="12"
VERBOSE="yes"
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/cassandra.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

View File

@@ -1,70 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ ______ __ ____ ____
/ | ____ ____ ______/ /_ ___ / ____/___ __ _______/ /_ / __ \/ __ )
/ /| | / __ \/ __ `/ ___/ __ \/ _ \ / / / __ \/ / / / ___/ __ \/ / / / __ |
/ ___ |/ /_/ / /_/ / /__/ / / / __/ / /___/ /_/ / /_/ / /__/ / / / /_/ / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\____/\__,_/\___/_/ /_/_____/_____/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Apache-CouchDB"
var_disk="10"
var_cpu="2"
var_ram="4096"
var_os="debian"
var_version="12"
VERBOSE="yes"
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/couchdb.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
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}:5984/_utils/${CL} \n"

View File

@@ -1,72 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ ______ __ _ ________
/ | ____ / /_ / ____/___ ______/ /_ ___ _____ / | / / ____/
/ /| | / __ \/ __/__/ / / __ `/ ___/ __ \/ _ \/ ___/__/ |/ / / __
/ ___ |/ /_/ / /_/__/ /___/ /_/ / /__/ / / / __/ / /__/ /| / /_/ /
/_/ |_/ .___/\__/ \____/\__,_/\___/_/ /_/\___/_/ /_/ |_/\____/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Apt-Cacher-NG"
var_disk="2"
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 [[ ! -d /var ]]; 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"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} maintenance page should be reachable by going to the following URL.
${BL}http://${IP}:3142/acng-report.html${CL} \n"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ _ ____
/ | __________/ /_ (_) _____ / __ )____ _ __
/ /| | / ___/ ___/ __ \/ / | / / _ \/ __ / __ \| |/_/
/ ___ |/ / / /__/ / / / /| |/ / __/ /_/ / /_/ /> <
/_/ |_/_/ \___/_/ /_/_/ |___/\___/_____/\____/_/|_|
EOF
}
header_info
echo -e "Loading..."
APP="ArchiveBox"
var_disk="8"
var_cpu="2"
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 [[ ! -d /opt/archivebox ]]; 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 ${APP}"
systemctl stop archivebox
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}"
cd /opt/archivebox/data
pip install --upgrade --ignore-installed archivebox
sudo -u archivebox archivebox init
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start archivebox
msg_ok "Started ${APP}"
msg_ok "Updated 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}:8000/admin/login${CL} \n"

418
ct/archlinux.sh Normal file
View File

@@ -0,0 +1,418 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ __ __ _
/ | __________/ /_ / / (_)___ __ ___ __
/ /| | / ___/ ___/ __ \ / / / / __ \/ / / / |/_/
/ ___ |/ / / /__/ / / / / /___/ / / / / /_/ /> <
/_/ |_/_/ \___/_/ /_/ /_____/_/_/ /_/\__,_/_/|_|
EOF
}
header_info
echo -e "Loading..."
APP="Arch Linux"
var_disk="1"
var_cpu="1"
var_ram="512"
var_os="archlinux"
var_version="base"
NSAPP=$(echo ${APP,,} | tr -d ' ')
var_install="${NSAPP}-v5-install"
timezone=$(cat /etc/timezone)
INTEGER='^[0-9]+([.][0-9]+)?$'
YW=$(echo "\033[33m")
BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m")
BGN=$(echo "\033[4;92m")
GN=$(echo "\033[1;92m")
DGN=$(echo "\033[32m")
CL=$(echo "\033[m")
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}${CL}"
CROSS="${RD}${CL}"
set -Eeuo pipefail
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
function error_handler() {
local exit_code="$?"
local line_number="$1"
local command="$2"
local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
echo -e "\n$error_message\n"
}
function msg_info() {
local msg="$1"
echo -ne " ${HOLD} ${YW}${msg}..."
}
function msg_ok() {
local msg="$1"
echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
}
function msg_error() {
local msg="$1"
echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
}
function PVE_CHECK() {
if [ $(pveversion | grep -c "pve-manager/7\.[0-9]") -eq 0 ]; then
echo -e "${CROSS} This version of Proxmox Virtual Environment is not supported"
echo -e "Requires PVE Version 7.0 or higher"
echo -e "Exiting..."
sleep 2
exit
fi
}
function ARCH_CHECK() {
if [ "$(dpkg --print-architecture)" != "amd64" ]; then
echo -e "\n ${CROSS} This script will not work with PiMox! \n"
echo -e "Exiting..."
sleep 2
exit
fi
}
function default_settings() {
echo -e "${DGN}Using Container Type: ${BGN}Unprivileged${CL} ${RD}NO DEVICE PASSTHROUGH${CL}"
CT_TYPE="1"
echo -e "${DGN}Using Root Password: ${BGN}archlinux${CL}"
PW="-password archlinux"
echo -e "${DGN}Using Container ID: ${BGN}$NEXTID${CL}"
CT_ID=$NEXTID
echo -e "${DGN}Using Hostname: ${BGN}$NSAPP${CL}"
HN=$NSAPP
echo -e "${DGN}Using Disk Size: ${BGN}$var_disk${CL}${DGN}GB${CL}"
DISK_SIZE="$var_disk"
echo -e "${DGN}Allocated Cores ${BGN}$var_cpu${CL}"
CORE_COUNT="$var_cpu"
echo -e "${DGN}Allocated Ram ${BGN}$var_ram${CL}"
RAM_SIZE="$var_ram"
echo -e "${DGN}Using Bridge: ${BGN}vmbr0${CL}"
BRG="vmbr0"
echo -e "${DGN}Using Static IP Address: ${BGN}dhcp${CL}"
NET=dhcp
echo -e "${DGN}Using Gateway Address: ${BGN}Default${CL}"
GATE=""
echo -e "${DGN}Disable IPv6: ${BGN}No${CL}"
DISABLEIP6="no"
echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}"
MTU=""
echo -e "${DGN}Using DNS Search Domain: ${BGN}Host${CL}"
SD=""
echo -e "${DGN}Using DNS Server Address: ${BGN}Host${CL}"
NS=""
echo -e "${DGN}Using MAC Address: ${BGN}Default${CL}"
MAC=""
echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}"
VLAN=""
echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
SSH="no"
echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
VERB="no"
echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
}
function exit-script() {
clear
echo -e "⚠ User exited script \n"
exit
}
function advanced_settings() {
if CT_TYPE=$(whiptail --title "CONTAINER TYPE" --radiolist "Choose Type" 10 58 2 \
"1" "Unprivileged" ON \
"0" "Privileged" OFF \
3>&1 1>&2 2>&3); then
echo -e "${DGN}Using Container Type: ${BGN}$CT_TYPE${CL}"
else
exit-script
fi
if PW1=$(whiptail --inputbox "\nSet Root Password (needed for root ssh access)" 9 58 --title "PASSWORD(leave blank for automatic login)" 3>&1 1>&2 2>&3); then
if [ -z $PW1 ]; then
PW1="Automatic Login"
PW=" "
else
PW="-password $PW1"
fi
echo -e "${DGN}Using Root Password: ${BGN}$PW1${CL}"
else
exit-script
fi
if CT_ID=$(whiptail --inputbox "Set Container ID" 8 58 $NEXTID --title "CONTAINER ID" 3>&1 1>&2 2>&3); then
if [ -z "$CT_ID" ]; then
CT_ID="$NEXTID"
echo -e "${DGN}Using Container ID: ${BGN}$CT_ID${CL}"
else
echo -e "${DGN}Container ID: ${BGN}$CT_ID${CL}"
fi
else
exit
fi
if CT_NAME=$(whiptail --inputbox "Set Hostname" 8 58 $NSAPP --title "HOSTNAME" 3>&1 1>&2 2>&3); then
if [ -z "$CT_NAME" ]; then
HN="$NSAPP"
else
HN=$(echo ${CT_NAME,,} | tr -d ' ')
fi
echo -e "${DGN}Using Hostname: ${BGN}$HN${CL}"
else
exit-script
fi
if DISK_SIZE=$(whiptail --inputbox "Set Disk Size in GB" 8 58 $var_disk --title "DISK SIZE" 3>&1 1>&2 2>&3); then
if [ -z "$DISK_SIZE" ]; then
DISK_SIZE="$var_disk"
echo -e "${DGN}Using Disk Size: ${BGN}$DISK_SIZE${CL}"
else
if ! [[ $DISK_SIZE =~ $INTEGER ]]; then
echo -e "${RD}⚠ DISK SIZE MUST BE AN INTEGER NUMBER!${CL}"
advanced_settings
fi
echo -e "${DGN}Using Disk Size: ${BGN}$DISK_SIZE${CL}"
fi
else
exit-script
fi
if CORE_COUNT=$(whiptail --inputbox "Allocate CPU Cores" 8 58 $var_cpu --title "CORE COUNT" 3>&1 1>&2 2>&3); then
if [ -z "$CORE_COUNT" ]; then
CORE_COUNT="$var_cpu"
echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
else
echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
fi
else
exit-script
fi
if RAM_SIZE=$(whiptail --inputbox "Allocate RAM in MiB" 8 58 $var_ram --title "RAM" 3>&1 1>&2 2>&3); then
if [ -z "$RAM_SIZE" ]; then
RAM_SIZE="$var_ram"
echo -e "${DGN}Allocated RAM: ${BGN}$RAM_SIZE${CL}"
else
echo -e "${DGN}Allocated RAM: ${BGN}$RAM_SIZE${CL}"
fi
else
exit-script
fi
if BRG=$(whiptail --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" 3>&1 1>&2 2>&3); then
if [ -z "$BRG" ]; then
BRG="vmbr0"
echo -e "${DGN}Using Bridge: ${BGN}$BRG${CL}"
else
echo -e "${DGN}Using Bridge: ${BGN}$BRG${CL}"
fi
else
exit-script
fi
if NET=$(whiptail --inputbox "Set a Static IPv4 CIDR Address(/24)" 8 58 dhcp --title "IP ADDRESS" 3>&1 1>&2 2>&3); then
if [ -z $NET ]; then
NET="dhcp"
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
else
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
fi
else
exit-script
fi
if GATE1=$(whiptail --inputbox "Set a Gateway IP (mandatory if Static IP was used)" 8 58 --title "GATEWAY IP" 3>&1 1>&2 2>&3); then
if [ -z $GATE1 ]; then
GATE1="Default"
GATE=""
else
GATE=",gw=$GATE1"
fi
echo -e "${DGN}Using Gateway IP Address: ${BGN}$GATE1${CL}"
else
exit-script
fi
if (whiptail --defaultno --title "IPv6" --yesno "Disable IPv6?" 10 58); then
DISABLEIP6="yes"
else
DISABLEIP6="no"
fi
echo -e "${DGN}Disable IPv6: ${BGN}$DISABLEIP6${CL}"
if MTU1=$(whiptail --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" 3>&1 1>&2 2>&3); then
if [ -z $MTU1 ]; then
MTU1="Default"
MTU=""
else
MTU=",mtu=$MTU1"
fi
echo -e "${DGN}Using Interface MTU Size: ${BGN}$MTU1${CL}"
else
exit-script
fi
if SD=$(whiptail --inputbox "Set a DNS Search Domain (leave blank for HOST)" 8 58 --title "DNS Search Domain" 3>&1 1>&2 2>&3); then
if [ -z $SD ]; then
SX=Host
SD=""
else
SX=$SD
SD="-searchdomain=$SD"
fi
echo -e "${DGN}Using DNS Search Domain: ${BGN}$SX${CL}"
else
exit-script
fi
if NX=$(whiptail --inputbox "Set a DNS Server IP (leave blank for HOST)" 8 58 --title "DNS SERVER IP" 3>&1 1>&2 2>&3); then
if [ -z $NX ]; then
NX=Host
NS=""
else
NS="-nameserver=$NX"
fi
echo -e "${DGN}Using DNS Server IP Address: ${BGN}$NX${CL}"
else
exit-script
fi
if MAC1=$(whiptail --inputbox "Set a MAC Address(leave blank for default)" 8 58 --title "MAC ADDRESS" 3>&1 1>&2 2>&3); then
if [ -z $MAC1 ]; then
MAC1="Default"
MAC=""
else
MAC=",hwaddr=$MAC1"
echo -e "${DGN}Using MAC Address: ${BGN}$MAC1${CL}"
fi
else
exit-script
fi
if VLAN1=$(whiptail --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" 3>&1 1>&2 2>&3); then
if [ -z $VLAN1 ]; then
VLAN1="Default"
VLAN=""
else
VLAN=",tag=$VLAN1"
fi
echo -e "${DGN}Using Vlan: ${BGN}$VLAN1${CL}"
else
exit-script
fi
if (whiptail --defaultno --title "SSH ACCESS" --yesno "Enable Root SSH Access?" 10 58); then
SSH="yes"
else
SSH="no"
fi
echo -e "${DGN}Enable Root SSH Access: ${BGN}$SSH${CL}"
if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
VERB="yes"
else
VERB="no"
fi
echo -e "${DGN}Enable Verbose Mode: ${BGN}$VERB${CL}"
if (whiptail --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" 10 58); then
echo -e "${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
else
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
advanced_settings
fi
}
function install_script() {
ARCH_CHECK
PVE_CHECK
NEXTID=$(pvesh get /cluster/nextid)
header_info
if (whiptail --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
header_info
echo -e "${BL}Using Default Settings${CL}"
default_settings
else
header_info
echo -e "${RD}Using Advanced Settings${CL}"
advanced_settings
fi
}
function update_script() {
header_info
msg_info "Updating ${APP} LXC"
pacman-key --init
pacman-key --populate archlinux
pacman -Sy archlinux-keyring && pacman -Su
msg_ok "Update Successfull"
exit
}
if command -v pveversion >/dev/null 2>&1; then
if ! (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
clear
echo -e "⚠ User exited script \n"
exit
fi
install_script
fi
if ! command -v pveversion >/dev/null 2>&1; then
if ! (whiptail --title "${APP} LXC UPDATE" --yesno "This will update ${APP} LXC. Proceed?" 10 58); then
clear
echo -e "⚠ User exited script \n"
exit
fi
update_script
fi
if [ "$VERB" == "yes" ]; then set -x; fi
if [ "$CT_TYPE" == "1" ]; then
FEATURES="nesting=1,keyctl=1"
else
FEATURES="nesting=1"
fi
TEMP_DIR=$(mktemp -d)
pushd $TEMP_DIR >/dev/null
export tz=$timezone
export DISABLEIPV6=$DISABLEIP6
export APPLICATION=$APP
export VERBOSE=$VERB
export SSH_ROOT=${SSH}
export CTID=$CT_ID
export PCT_OSTYPE=$var_os
export PCT_OSVERSION=$var_version
export PCT_DISK_SIZE=$DISK_SIZE
export PCT_OPTIONS="
-features $FEATURES
-hostname $HN
$SD
$NS
-net0 name=eth0,bridge=$BRG$MAC,ip=$NET$GATE$VLAN$MTU
-onboot 1
-cores $CORE_COUNT
-memory $RAM_SIZE
-unprivileged $CT_TYPE
$PW
"
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit
msg_info "Starting LXC Container"
pct start $CTID
msg_ok "Started LXC Container"
IP=$(pct exec $CTID ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
pct set $CTID -description "# ${APP} ${var_version} LXC
### https://tteck.github.io/Proxmox/
<a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/☕-Buy me a coffee-red' /></a>"
msg_ok "Completed Successfully!\n"

View File

@@ -1,70 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ _ ___
/ | _____(_)___ |__ \
/ /| | / ___/ / __ `/_/ /
/ ___ |/ / / / /_/ / __/
/_/ |_/_/ /_/\__,_/____/
EOF
}
header_info
echo -e "Loading..."
APP="Aria2"
var_disk="8"
var_cpu="2"
var_ram="1028"
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 [[ ! -d /var ]]; 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"
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}:6880${CL}"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,8 +52,11 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
echo "This application receives updates through the APT package manager." msg_info "Updating $APP LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated $APP LXC"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -69,7 +67,7 @@ msg_ok "Updated ${APP} LXC"
msg_info "Starting ${APP} LXC" msg_info "Starting ${APP} LXC"
systemctl start autobrr.service systemctl start autobrr.service
msg_ok "Started ${APP} LXC" msg_ok "Started ${APP} LXC"
msg_ok "Updated Successfully" msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,71 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
____
/ __ )____ _____ ____ ___________
/ __ / __ `/_ / / __ `/ ___/ ___/
/ /_/ / /_/ / / /_/ /_/ / / / /
/_____/\__,_/ /___/\__,_/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Bazarr"
var_disk="4"
var_cpu="2"
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 [[ ! -d /var/lib/bazarr/ ]]; 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"
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}:6767${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,86 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
____ __ _ __ __
/ __ )__ ______ / /_____ ____| | / /__ / /_
/ __ / / / / __ \/ //_/ _ \/ ___/ | /| / / _ \/ __ \
/ /_/ / /_/ / / / / ,< / __/ / | |/ |/ / __/ /_/ /
/_____/\__,_/_/ /_/_/|_|\___/_/ |__/|__/\___/_.___/
EOF
}
header_info
echo -e "Loading..."
APP="BunkerWeb"
var_disk="4"
var_cpu="2"
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 [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating ${APP} to ${RELEASE}"
cat <<EOF >/etc/apt/preferences.d/bunkerweb
Package: bunkerweb
Pin: version ${RELEASE}
Pin-Priority: 1001
EOF
apt-get update
apt-get install -y nginx=1.26.2*
apt-get install -y bunkerweb=${RELEASE}
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} setup should be reachable by going to the following URL.
${BL}http://${IP}/setup${CL} \n"

View File

@@ -1,69 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ __ __
/ ____/___ _____/ /___/ /_ __
/ / / __ `/ __ / __ / / / /
/ /___/ /_/ / /_/ / /_/ / /_/ /
\____/\__,_/\__,_/\__,_/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Caddy"
var_disk="2"
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 [[ ! -d /etc/caddy ]]; 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"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

View File

@@ -1,164 +0,0 @@
#!/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="Calibre-Web"
var_disk="4"
var_cpu="2"
var_ram="2048"
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() {
if [[ ! -f /etc/systemd/system/cps.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
header_info
msg_info "Updating $APP LXC"
systemctl stop cps
cd /opt/kepubify
rm kepubify-linux-64bit
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit &>/dev/null
chmod +x kepubify-linux-64bit
menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \
"2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \
"3" "Enables displaying of additional author infos on the authors page" OFF \
"4" "Enables login via LDAP server" OFF \
"5" "Enables login via google or github oauth" OFF \
"6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \
"7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \
"8" "Enables syncing with your kobo reader" OFF )
if [ -f "/opt/calibre-web/options.txt" ]; then
cps_options="$(cat /opt/calibre-web/options.txt)"
IFS=',' read -ra ADDR <<< "$cps_options"
for i in "${ADDR[@]}"; do
if [ $i == "gdrive" ]; then
line=0
elif [ $i == "gmail" ]; then
line=1
elif [ $i == "goodreads" ]; then
line=2
elif [ $i == "ldap" ]; then
line=3
elif [ $i == "oauth" ]; then
line=4
elif [ $i == "metadata" ]; then
line=5
elif [ $i == "comics" ]; then
line=6
elif [ $i == "kobo" ]; then
line=7
fi
array_index=$(( 3*line + 2 ))
menu_array[$array_index]=ON
done
fi
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3)
spinner &
SPINNER_PID=$!
options=()
if [ ! -z "$CHOICES" ]; then
for CHOICE in $CHOICES; do
case "$CHOICE" in
"1")
options+=( gdrive )
;;
"2")
options+=( gmail )
;;
"3")
options+=( goodreads )
;;
"4")
options+=( ldap )
apt-get install -qqy libldap2-dev libsasl2-dev
;;
"5")
options+=( oauth )
;;
"6")
options+=( metadata )
;;
"7")
options+=( comics )
;;
"8")
options+=( kobo )
;;
*)
echo "Unsupported item $CHOICE!" >&2
exit 1
;;
esac
done
fi
if [ ! -z "$options" ] && [ ${#options[@]} -gt 0 ]; then
cps_options=$(IFS=, ; echo "${options[*]}")
echo $cps_options > /opt/calibre-web/options.txt
pip install --upgrade calibreweb[$cps_options]
else
rm /opt/calibre-web/options.txt 2> /dev/null
pip install --upgrade calibreweb
fi
systemctl start cps
msg_ok "Updated $APP LXC"
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 512
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:8083${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/docker.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -48,6 +46,7 @@ function default_settings() {
MAC="" MAC=""
VLAN="" VLAN=""
SSH="no" SSH="no"
FUSE="no"
VERB="no" VERB="no"
echo_default echo_default
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -19,11 +19,11 @@ EOF
header_info header_info
echo -e "Loading..." echo -e "Loading..."
APP="Change Detection" APP="Change Detection"
var_disk="8" var_disk="2"
var_cpu="2" var_cpu="1"
var_ram="1024" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -56,25 +54,9 @@ function update_script() {
header_info header_info
if [[ ! -f /etc/systemd/system/changedetection.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /etc/systemd/system/changedetection.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
apt-get update
apt-get install -y libjpeg-dev
fi
pip3 install changedetection.io --upgrade &>/dev/null pip3 install changedetection.io --upgrade &>/dev/null
pip3 install playwright --upgrade &>/dev/null msg_ok "Updated ${APP} LXC"
if [[ -f /etc/systemd/system/browserless.service ]]; then msg_ok "Update Successfull"
git -C /opt/browserless/ fetch --all &>/dev/null
git -C /opt/browserless/ reset --hard origin/main &>/dev/null
npm update --prefix /opt/browserless &>/dev/null
npm run build --prefix /opt/browserless &>/dev/null
npm run build:function --prefix /opt/browserless &>/dev/null
npm prune production --prefix /opt/browserless &>/dev/null
systemctl restart browserless
else
msg_error "No Browserless Installation Found!"
fi
systemctl restart changedetection
msg_ok "Updated Successfully"
exit exit
} }

View File

@@ -1,68 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
________ __ ____ _ ______ _____
/ ____/ /_ ____ _____ ____ ___ / /____ / __ \ | / / __ \ / ___/___ ______ _____ _____
/ / / __ \/ __ `/ __ \/ __ \/ _ \/ / ___/ / / / / | / / /_/ / \__ \/ _ \/ ___/ | / / _ \/ ___/
/ /___/ / / / /_/ / / / / / / / __/ (__ ) / /_/ /| |/ / _, _/ ___/ / __/ / | |/ / __/ /
\____/_/ /_/\__,_/_/ /_/_/ /_/\___/_/____/ /_____/ |___/_/ |_| /____/\___/_/ |___/\___/_/
EOF
}
header_info
echo -e "Loading..."
APP="Channels"
var_disk="8"
var_cpu="2"
var_ram="1024"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="0"
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 [[ ! -d /opt/channels-dvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:8089 ${CL} \n"

View File

@@ -1,69 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
________ ________ __
/ ____/ /___ __ ______/ / __/ /___ _________ ____/ /
/ / / / __ \/ / / / __ / /_/ / __ `/ ___/ _ \/ __ /
/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / / / __/ /_/ /
\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/ \___/\__,_/
EOF
}
header_info
echo -e "Loading..."
APP="Cloudflared"
var_disk="2"
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 [[ ! -d /var ]]; 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"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

View File

@@ -1,125 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
# Co-Author: havardthom
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ __ _ __
/ ____/___ _____/ /______ (_) /_
/ / / __ \/ ___/ //_/ __ \/ / __/
/ /___/ /_/ / /__/ ,< / /_/ / / /_
\____/\____/\___/_/|_/ .___/_/\__/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Cockpit"
var_disk="4"
var_cpu="2"
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() {
if [[ ! -d /etc/cockpit ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update LXC" ON \
"2" "Install cockpit-file-sharing" OFF \
"3" "Install cockpit-identities" OFF \
"4" "Install cockpit-navigator" OFF \
3>&1 1>&2 2>&3)
header_info
if [ "$UPD" == "1" ]; then
msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated ${APP} LXC"
exit
fi
if [ "$UPD" == "2" ]; then
msg_info "Installing dependencies (patience)"
apt-get install -y attr &>/dev/null
apt-get install -y nfs-kernel-server &>/dev/null
apt-get install -y samba &>/dev/null
apt-get install -y samba-common-bin &>/dev/null
apt-get install -y winbind &>/dev/null
apt-get install -y gawk &>/dev/null
msg_ok "Installed dependencies"
msg_info "Installing Cockpit file sharing"
LATEST=$(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q https://github.com/45Drives/cockpit-file-sharing/releases/download/v${LATEST}/cockpit-file-sharing_${LATEST}-1focal_all.deb
dpkg -i cockpit-file-sharing_${LATEST}-1focal_all.deb &>/dev/null
rm cockpit-file-sharing_${LATEST}-1focal_all.deb
msg_ok "Installed Cockpit file sharing"
exit
fi
if [ "$UPD" == "3" ]; then
msg_info "Installing dependencies (patience)"
apt-get install -y psmisc &>/dev/null
apt-get install -y samba &>/dev/null
apt-get install -y samba-common-bin &>/dev/null
msg_ok "Installed dependencies"
msg_info "Installing Cockpit identities"
LATEST=$(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q https://github.com/45Drives/cockpit-identities/releases/download/v${LATEST}/cockpit-identities_${LATEST}-1focal_all.deb
dpkg -i cockpit-identities_${LATEST}-1focal_all.deb &>/dev/null
rm cockpit-identities_${LATEST}-1focal_all.deb
msg_ok "Installed Cockpit identities"
exit
fi
if [ "$UPD" == "4" ]; then
msg_info "Installing dependencies"
apt-get install -y rsync &>/dev/null
apt-get install -y zip &>/dev/null
msg_ok "Installed dependencies"
msg_info "Installing Cockpit navigator"
LATEST=$(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q https://github.com/45Drives/cockpit-navigator/releases/download/v${LATEST}/cockpit-navigator_${LATEST}-1focal_all.deb
dpkg -i cockpit-navigator_${LATEST}-1focal_all.deb &>/dev/null
rm cockpit-navigator_${LATEST}-1focal_all.deb
msg_ok "Installed Cockpit navigator"
exit
fi
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:9090${CL} \n"

View File

@@ -1,88 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ ______ __
/ ____/___ ____ ___ ____ ___ ____ _/ ____/__ ___ ____/ /
/ / / __ \/ __ `__ \/ __ `__ \/ __ `/ /_ / _ \/ _ \/ __ /
/ /___/ /_/ / / / / / / / / / / / /_/ / __/ / __/ __/ /_/ /
\____/\____/_/ /_/ /_/_/ /_/ /_/\__,_/_/ \___/\___/\__,_/
EOF
}
header_info
echo -e "Loading..."
APP="CommaFeed"
var_disk="4"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/commafeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop commafeed
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
unzip -q commafeed-${RELEASE}-h2-jvm.zip
rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start commafeed
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
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}:8082${CL} \n"

View File

@@ -1,14 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
# This sets verbose mode if the global variable is set to "yes" if [ "$VERBOSE" == "yes" ]; then set -x; fi
# if [ "$VERBOSE" == "yes" ]; then set -x; fi
# This function sets color variables for formatting output in the terminal
YW=$(echo "\033[33m") YW=$(echo "\033[33m")
BL=$(echo "\033[36m") BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m") RD=$(echo "\033[01;31m")
@@ -17,59 +14,30 @@ CL=$(echo "\033[m")
CM="${GN}${CL}" CM="${GN}${CL}"
CROSS="${RD}${CL}" CROSS="${RD}${CL}"
BFR="\\r\\033[K" BFR="\\r\\033[K"
HOLD=" " HOLD="-"
# This sets error handling options and defines the error_handler function to handle errors
set -Eeuo pipefail set -Eeuo pipefail
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
# This function handles errors
function error_handler() { function error_handler() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local exit_code="$?" local exit_code="$?"
local line_number="$1" local line_number="$1"
local command="$2" local command="$2"
local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}" local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
echo -e "\n$error_message\n" echo -e "\n$error_message\n"
} }
# This function displays a spinner.
function spinner() {
local chars="/-\|"
local spin_i=0
printf "\e[?25l"
while true; do
printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
sleep 0.1
done
}
# This function displays an informational message with a yellow color.
function msg_info() { function msg_info() {
local msg="$1" local msg="$1"
echo -ne " ${HOLD} ${YW}${msg} " echo -ne " ${HOLD} ${YW}${msg}..."
spinner &
SPINNER_PID=$!
} }
# This function displays a success message with a green color.
function msg_ok() { function msg_ok() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1" local msg="$1"
echo -e "${BFR} ${CM} ${GN}${msg}${CL}" echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
} }
# This function displays a error message with a red color.
function msg_error() { function msg_error() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1" local msg="$1"
echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
} }
# This checks for the presence of valid Container Storage and Template Storage locations
msg_info "Validating Storage" msg_info "Validating Storage"
VALIDCT=$(pvesm status -content rootdir | awk 'NR>1') VALIDCT=$(pvesm status -content rootdir | awk 'NR>1')
if [ -z "$VALIDCT" ]; then if [ -z "$VALIDCT" ]; then
@@ -82,7 +50,6 @@ if [ -z "$VALIDTMP" ]; then
exit 1 exit 1
fi fi
# This function is used to select the storage class and determine the corresponding storage content type and label.
function select_storage() { function select_storage() {
local CLASS=$1 local CLASS=$1
local CONTENT local CONTENT
@@ -99,7 +66,6 @@ function select_storage() {
*) false || exit "Invalid storage class." ;; *) false || exit "Invalid storage class." ;;
esac esac
# This Queries all storage locations
local -a MENU local -a MENU
while read -r line; do while read -r line; do
local TAG=$(echo $line | awk '{print $1}') local TAG=$(echo $line | awk '{print $1}')
@@ -113,14 +79,13 @@ function select_storage() {
MENU+=("$TAG" "$ITEM" "OFF") MENU+=("$TAG" "$ITEM" "OFF")
done < <(pvesm status -content $CONTENT | awk 'NR>1') done < <(pvesm status -content $CONTENT | awk 'NR>1')
# Select storage location if [ $((${#MENU[@]} / 3)) -eq 1 ]; then
if [ $((${#MENU[@]}/3)) -eq 1 ]; then
printf ${MENU[0]} printf ${MENU[0]}
else else
local STORAGE local STORAGE
while [ -z "${STORAGE:+x}" ]; do while [ -z "${STORAGE:+x}" ]; do
STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \ STORAGE=$(whiptail --title "Storage Pools" --radiolist \
"Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \ "Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\n\n" \
16 $(($MSG_MAX_LENGTH + 23)) 6 \ 16 $(($MSG_MAX_LENGTH + 23)) 6 \
"${MENU[@]}" 3>&1 1>&2 2>&3) || exit "Menu aborted." "${MENU[@]}" 3>&1 1>&2 2>&3) || exit "Menu aborted."
done done
@@ -128,40 +93,32 @@ function select_storage() {
fi fi
} }
# Test if required variables are set
[[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable." [[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable."
[[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable." [[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable."
# Test if ID is valid
[ "$CTID" -ge "100" ] || exit "ID cannot be less than 100." [ "$CTID" -ge "100" ] || exit "ID cannot be less than 100."
# Test if ID is in use
if pct status $CTID &>/dev/null; then if pct status $CTID &>/dev/null; then
echo -e "ID '$CTID' is already in use." echo -e "ID '$CTID' is already in use."
unset CTID unset CTID
exit "Cannot use ID that is already in use." exit "Cannot use ID that is already in use."
fi fi
# Get template storage
TEMPLATE_STORAGE=$(select_storage template) || exit TEMPLATE_STORAGE=$(select_storage template) || exit
msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage."
# Get container storage
CONTAINER_STORAGE=$(select_storage container) || exit CONTAINER_STORAGE=$(select_storage container) || exit
msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage."
# Update LXC template list
msg_info "Updating LXC Template List" msg_info "Updating LXC Template List"
pveam update >/dev/null pveam update >/dev/null
msg_ok "Updated LXC Template List" msg_ok "Updated LXC Template List"
# Get LXC template string
TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-} TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-}
mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V) mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V)
[ ${#TEMPLATES[@]} -gt 0 ] || exit "Unable to find a template when searching for '$TEMPLATE_SEARCH'." [ ${#TEMPLATES[@]} -gt 0 ] || exit "Unable to find a template when searching for '$TEMPLATE_SEARCH'."
TEMPLATE="${TEMPLATES[-1]}" TEMPLATE="${TEMPLATES[-1]}"
# Download LXC template if needed
if ! pveam list $TEMPLATE_STORAGE | grep -q $TEMPLATE; then if ! pveam list $TEMPLATE_STORAGE | grep -q $TEMPLATE; then
msg_info "Downloading LXC Template" msg_info "Downloading LXC Template"
pveam download $TEMPLATE_STORAGE $TEMPLATE >/dev/null || pveam download $TEMPLATE_STORAGE $TEMPLATE >/dev/null ||
@@ -169,14 +126,12 @@ if ! pveam list $TEMPLATE_STORAGE | grep -q $TEMPLATE; then
msg_ok "Downloaded LXC Template" msg_ok "Downloaded LXC Template"
fi fi
# Combine all options
DEFAULT_PCT_OPTIONS=( DEFAULT_PCT_OPTIONS=(
-arch $(dpkg --print-architecture)) -arch $(dpkg --print-architecture))
PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}}) PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}})
[[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs $CONTAINER_STORAGE:${PCT_DISK_SIZE:-8}) [[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs $CONTAINER_STORAGE:${PCT_DISK_SIZE:-8})
# Create container
msg_info "Creating LXC Container" msg_info "Creating LXC Container"
pct create $CTID ${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE} ${PCT_OPTIONS[@]} >/dev/null || pct create $CTID ${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE} ${PCT_OPTIONS[@]} >/dev/null ||
exit "A problem occured while trying to create container." exit "A problem occured while trying to create container."

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -53,34 +51,19 @@ function default_settings() {
} }
function update_script() { function update_script() {
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \ if [[ ! -d /opt/cronicle ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
UPD=$(whiptail --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
"1" "Update ${APP}" ON \ "1" "Update ${APP}" ON \
"2" "Install ${APP} Worker" OFF \ "2" "Install ${APP} Worker" OFF \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
if [ "$UPD" == "1" ]; then
header_info header_info
if [[ ! -d /opt/cronicle ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
apt-get install -y npm >/dev/null 2>&1
echo "Installed NPM..."
fi
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
/opt/cronicle/bin/control.sh upgrade &>/dev/null /opt/cronicle/bin/control.sh upgrade &>/dev/null
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
exit exit
fi fi
if [ "$UPD" == "2" ]; then if [ "$UPD" == "2" ]; then
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
apt-get install -y npm >/dev/null 2>&1
echo "Installed NPM..."
fi
fi
LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
IP=$(hostname -I | awk '{print $1}') IP=$(hostname -I | awk '{print $1}')
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
@@ -89,18 +72,13 @@ apt-get install -y git &>/dev/null
apt-get install -y make &>/dev/null apt-get install -y make &>/dev/null
apt-get install -y g++ &>/dev/null apt-get install -y g++ &>/dev/null
apt-get install -y gcc &>/dev/null apt-get install -y gcc &>/dev/null
apt-get install -y ca-certificates &>/dev/null
apt-get install -y gnupg &>/dev/null
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings bash <(curl -fsSL https://deb.nodesource.com/setup_16.x) &>/dev/null
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository" msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js" msg_info "Installing Node.js"
apt-get update &>/dev/null
apt-get install -y nodejs &>/dev/null apt-get install -y nodejs &>/dev/null
msg_ok "Installed Node.js" msg_ok "Installed Node.js"
@@ -115,7 +93,7 @@ sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled &>/dev/null cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled &>/dev/null
chmod 775 /etc/init.d/cronicled chmod 775 /etc/init.d/cronicled
update-rc.d cronicled defaults &>/dev/null update-rc.d cronicled defaults &>/dev/null
msg_ok "Installed Cronicle Worker" msg_ok "Installed Cronicle Worker on $hostname"
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n" echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
exit exit
fi fi
@@ -127,4 +105,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${APP} Primary should be reachable by going to the following URL. echo -e "${APP} Primary should be reachable by going to the following URL.
${BL}http://${IP}:3012${CL} \n" ${BL}http://${IP}:3012${CL} admin|admin \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="8"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="6"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,49 +52,37 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping ${APP}"
systemctl stop dashy
msg_ok "Stopped ${APP}"
RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Backing up conf.yml"
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then cd ~
msg_info "Stopping ${APP}" cp -R /dashy/public/conf.yml conf.yml
systemctl stop dashy msg_ok "Backed up conf.yml"
msg_ok "Stopped ${APP}"
msg_info "Backing up conf.yml" msg_info "Updating Dashy"
cd ~ cd /dashy
if [[ -f /opt/dashy/public/conf.yml ]]; then git merge &>/dev/null
cp -R /opt/dashy/public/conf.yml conf.yml git pull origin master &>/dev/null
else yarn &>/dev/null
cp -R /opt/dashy/user-data/conf.yml conf.yml yarn build &>/dev/null
fi msg_ok "Updated Dashy"
msg_ok "Backed up conf.yml"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Restoring conf.yml"
rm -rf /opt/dashy cd ~
mkdir -p /opt/dashy cp -R conf.yml /dashy/public
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1 msg_ok "Restored conf.yml"
cd /opt/dashy
npm install
npm run build
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Restoring conf.yml" msg_info "Cleaning"
cd ~ rm -rf conf.yml
cp -R conf.yml /opt/dashy/user-data msg_ok "Cleaned"
msg_ok "Restored conf.yml"
msg_info "Cleaning" msg_info "Starting Dashy"
rm -rf conf.yml /opt/dashy/public/conf.yml systemctl start dashy
msg_ok "Cleaned" msg_ok "Started Dashy"
msg_ok "Update Successfull"
msg_info "Starting Dashy"
systemctl start dashy
msg_ok "Started Dashy"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -9,7 +9,7 @@ function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
____ __ _ ____ __ _
/ __ \___ / /_ (_)___ ____ / __ \___ / /_ (_)___ _____
/ / / / _ \/ __ \/ / __ `/ __ \ / / / / _ \/ __ \/ / __ `/ __ \
/ /_/ / __/ /_/ / / /_/ / / / / / /_/ / __/ /_/ / / /_/ / / / /
/_____/\___/_.___/_/\__,_/_/ /_/ /_____/\___/_.___/_/\__,_/_/ /_/
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/ubuntu.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -22,8 +22,8 @@ APP="deCONZ"
var_disk="4" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="ubuntu"
var_version="12" var_version="20.04"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -8,23 +8,22 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build
function header_info { function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
__ ____ ____
____ / /_/ __/_ __ / __ \___ _ ____ ______ ____
/ __ \/ __/ /_/ / / / / / / / _ \ | / / / / / __ `/ __ \
/ / / / /_/ __/ /_/ / / /_/ / __/ |/ / /_/ / /_/ / / / /
/_/ /_/\__/_/ \__, / /_____/\___/|___/\__,_/\__,_/_/ /_/
/____/
EOF EOF
} }
header_info header_info
echo -e "Loading..." echo -e "Loading..."
APP="ntfy" APP="Devuan"
var_disk="2" var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="devuan"
var_version="12" var_version="4.0"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -68,5 +65,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/docker.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -48,6 +46,7 @@ function default_settings() {
MAC="" MAC=""
VLAN="" VLAN=""
SSH="no" SSH="no"
FUSE="no"
VERB="no" VERB="no"
echo_default echo_default
} }

View File

@@ -1,72 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
____ __
/ __ \____ _____/ /______ ____
/ / / / __ \/ ___/ //_/ __ `/ _ \
/ /_/ / /_/ / /__/ ,< / /_/ / __/
/_____/\____/\___/_/|_|\__, /\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Dockge"
var_disk="18"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/dockge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP}"
cd /opt/dockge
docker compose pull
docker compose up -d
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}:5001${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/ubuntu.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,13 +23,13 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="ubuntu" var_os="ubuntu"
var_version="22.04" var_version="20.04"
variables variables
color color
catch_errors catch_errors
function default_settings() { function default_settings() {
CT_TYPE="1" CT_TYPE="0"
PW="" PW=""
CT_ID=$NEXTID CT_ID=$NEXTID
HN=$NSAPP HN=$NSAPP
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -69,7 +67,7 @@ msg_ok "Updated ${APP}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start emby-server systemctl start emby-server
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,89 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
# Co-Author: MickLesk (Canbiz)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# Source: https://github.com/ErsatzTV/ErsatzTV/
function header_info {
clear
cat <<"EOF"
______ __ _______ __
/ ____/_____________ _/ /_____/_ __/ | / /
/ __/ / ___/ ___/ __ `/ __/_ / / / | | / /
/ /___/ / (__ ) /_/ / /_ / /_/ / | |/ /
/_____/_/ /____/\__,_/\__/ /___/_/ |___/
EOF
}
header_info
echo -e "Loading..."
APP="ErsatzTV"
var_disk="5"
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 [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; 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)
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"
systemctl start ersatzTV
msg_ok "Started ErsatzTV"
msg_ok "Updated Successfully"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:8409${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,22 +52,19 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /usr/local/bin/esphome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping ESPHome" msg_info "Stopping ESPHome"
systemctl stop esphomeDashboard systemctl stop esphomeDashboard
msg_ok "Stopped ESPHome" msg_ok "Stopped ESPHome"
msg_info "Updating ESPHome" msg_info "Updating ESPHome"
if [[ -d /srv/esphome ]]; then pip3 install esphome --upgrade &>/dev/null
source /srv/esphome/bin/activate &>/dev/null
fi
pip3 install -U esphome &>/dev/null
msg_ok "Updated ESPHome" msg_ok "Updated ESPHome"
msg_info "Starting ESPHome" msg_info "Starting ESPHome"
systemctl start esphomeDashboard systemctl start esphomeDashboard
msg_ok "Started ESPHome" msg_ok "Started ESPHome"
msg_ok "Updated Successfully" msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,70 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
___ _ ____________
/ _ \ | / / ___/ ___/
/ __/ |/ / /__/ /__
\___/|___/\___/\___/
EOF
}
header_info
echo -e "Loading..."
APP="evcc"
var_disk="4"
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 /etc/apt/sources.list.d/evcc-stable.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating evcc LXC"
apt update &>/dev/null
apt --only-upgrade install -y evcc &>/dev/null
msg_ok "Updated Successfully"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:7070${CL} \n"

View File

@@ -1,93 +0,0 @@
#!/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: Scorpoon
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______
/ ____/__ ____ _______ _______
/ /_ / _ \/ __ \/ ___/ / / / ___/
/ __/ / __/ / / / / / /_/ (__ )
/_/ \___/_/ /_/_/ \__,_/____/
EOF
}
header_info
echo -e "Loading..."
APP="Fenrus"
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 [[ ! -d /opt/${APP} ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
msg_info "Updating ${APP}"
systemctl stop ${APP}
git clone https://github.com/revenz/Fenrus.git
cd Fenrus || exit
gitVersionNumber=$(git rev-parse HEAD)
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
mkdir /opt/fenrus-data-backup
cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
if [[ ! -d /opt/fenrus-data-backup/data ]]; then msg_error "Backup of data folder failed! exiting..."; rm -r /opt/fenrus-data-backup/; exit; fi
export DOTNET_CLI_TELEMETRY_OPTOUT=1
dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
rm -r /opt/fenrus-data-backup/
msg_ok "Updated $APP"
else
msg_ok "No update required. ${APP} is already up to date"
fi
cd ..
rm -r Fenrus/
systemctl start ${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}:5000${CL} \n"

View File

@@ -1,86 +0,0 @@
#!/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="FlareSolverr"
var_disk="4"
var_cpu="2"
var_ram="2048"
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/flaresolverr.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating $APP LXC"
systemctl stop flaresolverr
wget -q https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz
tar -xzf flaresolverr_linux_x64.tar.gz -C /opt
rm flaresolverr_linux_x64.tar.gz
systemctl start flaresolverr
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP LXC"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 512
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:8191${CL} \n"

View File

@@ -1,77 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
________ _ ___ ____
/ ____/ /___ _ __(_)_______ / | / _/
/ /_ / / __ \ | /| / / / ___/ _ \/ /| | / /
/ __/ / / /_/ / |/ |/ / (__ ) __/ ___ |_/ /
/_/ /_/\____/|__/|__/_/____/\___/_/ |_/___/
EOF
}
header_info
echo -e "Loading..."
APP="FlowiseAI"
var_disk="10"
var_cpu="4"
var_ram="4096"
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/flowise.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
msg_info "Updating ${APP}"
systemctl stop flowise
npm install -g flowise --upgrade
systemctl start flowise
msg_ok "Updated ${APP}"
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 2048
pct set $CTID -cores 2
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:3000${CL} \n"

View File

@@ -1,89 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ _
/ ____/___ _________ ___ (_)___
/ /_ / __ \/ ___/ __ `/ _ \ / / __ \
/ __/ / /_/ / / / /_/ / __/ / / /_/ /
/_/ \____/_/ \__, /\___/_/ /\____/
/____/ /___/
EOF
}
header_info
echo -e "Loading..."
APP="Forgejo"
var_disk="10"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/forgejo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping ${APP}"
systemctl stop forgejo
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}"
RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64"
rm -rf /opt/forgejo/*
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
msg_ok "Updated ${APP}"
msg_info "Cleaning"
rm -rf forgejo-$RELEASE-linux-amd64
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl start forgejo
msg_ok "Started ${APP}"
msg_ok "Updated 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"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Authors: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ _ __
/ ____/____(_)___ _____ _/ /____
/ /_ / ___/ / __ `/ __ `/ __/ _ \
/ __/ / / / / /_/ / /_/ / /_/ __/
/_/ /_/ /_/\__, /\__,_/\__/\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Frigate"
var_disk="20"
var_cpu="4"
var_ram="4096"
var_os="debian"
var_version="11"
variables
color
catch_errors
function default_settings() {
CT_TYPE="0"
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() {
if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "To update Frigate, create a new container and transfer your configuration."
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 1024
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:5000${CL} \n"
echo -e "go2rtc should be reachable by going to the following URL.
${BL}http://${IP}:1984${CL} \n"

View File

@@ -1,77 +0,0 @@
#!/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"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -55,15 +53,11 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/go2rtc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP" msg_info "Updating $APP LXC"
systemctl stop go2rtc apt-get update &>/dev/null
cd /opt/go2rtc apt-get -y upgrade &>/dev/null
rm go2rtc_linux_amd64 msg_ok "Updated $APP LXC"
wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64
chmod +x go2rtc_linux_amd64
systemctl start go2rtc
msg_ok "Updated $APP"
exit exit
} }

View File

@@ -1,68 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ __ _
/ ____/___ / /______ _____ (_)
/ / __/ __ \/ //_/ __ `/ __ \/ /
/ /_/ / /_/ / ,< / /_/ / /_/ / /
\____/\____/_/|_|\__,_/ .___/_/
/_/
EOF
}
header_info
echo -e "Loading..."
APP="Gokapi"
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 [[ ! -d /opt/gokapi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:53842/setup${CL} \n"

View File

@@ -1,90 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
______ __ _ ____
/ ____/___ / /_(_) __/_ __
/ / __/ __ \/ __/ / /_/ / / /
/ /_/ / /_/ / /_/ / __/ /_/ /
\____/\____/\__/_/_/ \__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Gotify"
var_disk="2"
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 [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop gotify
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/gotify
wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
unzip -oq gotify-linux-amd64.zip
rm -rf gotify-linux-amd64.zip
chmod +x gotify-linux-amd64
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start gotify
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
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} ${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,11 +52,12 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP}" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -55,20 +53,10 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
php_version=$(php -v | head -n 1 | awk '{print $2}')
if [[ ! $php_version == "8.3"* ]]; then
msg_info "Updating PHP"
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
apt-get update
apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml}
systemctl reload apache2
apt autoremove
msg_ok "Updated PHP"
fi
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
bash /var/www/html/update.sh bash /var/www/html/update.sh
msg_ok "Updated Successfully" msg_ok "Updated ${APP}"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,86 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __ __ __
/ / / /__ ____ _____/ /_____________ _/ /__
/ /_/ / _ \/ __ `/ __ / ___/ ___/ __ `/ / _ \
/ __ / __/ /_/ / /_/ (__ ) /__/ /_/ / / __/
/_/ /_/\___/\__,_/\__,_/____/\___/\__,_/_/\___/
EOF
}
header_info
echo -e "Loading..."
APP="Headscale"
var_disk="2"
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 [[ ! -d /etc/headscale ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}"
systemctl stop headscale
msg_ok "Stopped ${APP}"
msg_info "Updating $APP to v${RELEASE}"
wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb
dpkg -i headscale_${RELEASE}_linux_amd64.deb
rm headscale_${RELEASE}_linux_amd64.deb
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start headscale
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

View File

@@ -1,111 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
_ _ _ _ ___ _ _ _
/\ /\___(_)_ __ ___ __| | __ _| | | / \__ _ ___| |__ | |__ ___ __ _ _ __ __| |
/ /_/ / _ \ | '_ ` _ \ / _` |/ _` | | | / /\ / _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` |
/ __ / __/ | | | | | | (_| | (_| | | | / /_// (_| \__ \ | | | |_) | (_) | (_| | | | (_| |
\/ /_/ \___|_|_| |_| |_|\__,_|\__,_|_|_| /___,' \__,_|___/_| |_|_.__/ \___/ \__,_|_| \__,_|
EOF
}
header_info
echo -e "Loading..."
APP="Heimdall-Dashboard"
var_disk="2"
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 [[ ! -d /opt/Heimdall ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}"
systemctl stop heimdall
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Backing up Data"
cp -R /opt/Heimdall/database database-backup
cp -R /opt/Heimdall/public public-backup
sleep 1
msg_ok "Backed up Data"
msg_info "Updating Heimdall Dashboard to ${RELEASE}"
wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz
tar xzf ${RELEASE}.tar.gz
VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cp -R Heimdall-${VER}/* /opt/Heimdall
cd /opt/Heimdall
apt-get install -y composer &>/dev/null
COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
msg_info "Restoring Data"
cd ~
cp -R database-backup/* /opt/Heimdall/database
cp -R public-backup/* /opt/Heimdall/public
sleep 1
msg_ok "Restored Data"
msg_info "Cleanup"
rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall}
sleep 1
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl start heimdall.service
sleep 2
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
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}:7990${CL} \n"

149
ct/heimdalldashboard.sh Normal file
View File

@@ -0,0 +1,149 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
_ _ _ _ ___ _ _ _
/\ /\___(_)_ __ ___ __| | __ _| | | / \__ _ ___| |__ | |__ ___ __ _ _ __ __| |
/ /_/ / _ \ | '_ ` _ \ / _` |/ _` | | | / /\ / _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` |
/ __ / __/ | | | | | | (_| | (_| | | | / /_// (_| \__ \ | | | |_) | (_) | (_| | | | (_| |
\/ /_/ \___|_|_| |_| |_|\__,_|\__,_|_|_| /___,' \__,_|___/_| |_|_.__/ \___/ \__,_|_| \__,_|
EOF
}
header_info
echo -e "Loading..."
APP="Heimdall Dashboard"
var_disk="2"
var_cpu="1"
var_ram="512"
var_os="debian"
var_version="11"
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=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() {
header_info
if [[ ! -d /opt/Heimdall ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping ${APP}"
systemctl disable heimdall.service &>/dev/null
systemctl stop heimdall
sleep 1
msg_ok "Stopped ${APP}"
msg_info "Backing up Data"
if [ -d "/opt/Heimdall-2.4.6" ]; then
cp -R /opt/Heimdall-2.4.6/database database-backup
cp -R /opt/Heimdall-2.4.6/public public-backup
elif [[ -d "/opt/Heimdall-2.4.7b" ]]; then
cp -R /opt/Heimdall-2.4.7b/database database-backup
cp -R /opt/Heimdall-2.4.7b/public public-backup
elif [[ -d "/opt/Heimdall-2.4.8" ]]; then
cp -R /opt/Heimdall-2.4.8/database database-backup
cp -R /opt/Heimdall-2.4.8/public public-backup
else
cp -R /opt/Heimdall/database database-backup
cp -R /opt/Heimdall/public public-backup
fi
sleep 1
msg_ok "Backed up Data"
RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
msg_info "Updating Heimdall Dashboard to ${RELEASE}"
curl --silent -o ${RELEASE}.tar.gz -L "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" &>/dev/null
tar xvzf ${RELEASE}.tar.gz &>/dev/null
VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest |
grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }')
if [ ! -d "/opt/Heimdall" ]; then
mv Heimdall-${VER} /opt/Heimdall
else
cp -R Heimdall-${VER}/* /opt/Heimdall
fi
service_path="/etc/systemd/system/heimdall.service"
echo "[Unit]
Description=Heimdall
After=network.target
[Service]
Restart=always
RestartSec=5
Type=simple
User=root
WorkingDirectory=/opt/Heimdall
ExecStart="/usr/bin/php" artisan serve --port 7990 --host 0.0.0.0
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target" >$service_path
msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
msg_info "Restoring Data"
cp -R database-backup/* /opt/Heimdall/database
cp -R public-backup/* /opt/Heimdall/public
sleep 1
msg_ok "Restored Data"
msg_info "Cleanup"
if [ -d "/opt/Heimdall-2.4.6" ]; then
rm -rf /opt/Heimdall-2.4.6
rm -rf /opt/v2.4.6.tar.gz
elif [[ -d "/opt/Heimdall-2.4.7b" ]]; then
rm -rf /opt/Heimdall-2.4.7b
rm -rf /opt/v2.4.7b.tar.gz
elif [[ -d "/opt/Heimdall-2.4.8" ]]; then
rm -rf /opt/Heimdall-2.4.8
rm -rf /opt/v2.4.8.tar.gz
fi
rm -rf ${RELEASE}.tar.gz
rm -rf Heimdall-${VER}
rm -rf public-backup
rm -rf database-backup
rm -rf Heimdall
sleep 1
msg_ok "Cleaned"
msg_info "Starting ${APP}"
systemctl enable --now heimdall.service &>/dev/null
sleep 2
msg_ok "Started ${APP}"
msg_ok "Update Successfull"
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}:7990${CL} \n"

View File

@@ -1,66 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ ___ __ _______ ____________
/ / / (_) _____ / |/ / __ \ / ____/ ____/
/ /_/ / / | / / _ \/ /|_/ / / / / / / / __/
/ __ / /| |/ / __/ / / / /_/ / / /___/ /___
/_/ /_/_/ |___/\___/_/ /_/\___\_\ \____/_____/
EOF
}
header_info
echo -e "Loading..."
APP="HiveMQ"
var_disk="4"
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 [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

View File

@@ -1,80 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __
/ / / /___ ____ ___ ____ ___________
/ /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/
/ __ / /_/ / / / / / / /_/ / / / /
/_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Homarr"
var_disk="8"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/homarr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP (Patience)"
systemctl stop homarr
cd /opt/homarr
if ! git pull; then
echo "Already up to date."
systemctl start homarr
echo "No update required."
exit
fi
yarn install
yarn build
systemctl start homarr
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}:3000${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -22,8 +22,8 @@ APP="Home Assistant-Core"
var_disk="8" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_os="ubuntu" var_os="debian"
var_version="24.04" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -59,25 +57,26 @@ function update_script() {
fi fi
PY=$(ls /srv/homeassistant/lib/) PY=$(ls /srv/homeassistant/lib/)
IP=$(hostname -I | awk '{print $1}') IP=$(hostname -I | awk '{print $1}')
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \ UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update Core" ON \ "1" "Update Core" ON \
"2" "Install HACS" OFF \ "2" "Install HACS" OFF \
"3" "Install FileBrowser" OFF \ "3" "Install FileBrowser" OFF \
"4" "Install/Update AppDaemon" OFF \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
header_info header_info
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then if (whiptail --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then
clear clear
header_info header_info
echo -e "${GN}Updating to Beta Version${CL}" echo -e "${GN}Updating to Version ${BETA}${CL}"
BR="--pre " BR="--pre "
else else
clear clear
header_info header_info
echo -e "${GN}Updating to Stable Version${CL}" echo -e "${GN}Updating to Version ${STABLE}${CL}"
BR="" BR=""
fi fi
if [[ "$PY" == "python3.11" ]]; then echo -e "⚠️ Home Assistant will soon require Python 3.12."; fi if [[ "$PY" == "python3.9" ]]; then echo -e "⚠️ Python 3.9 is deprecated and will be removed in Home Assistant 2023.2"; fi
msg_info "Stopping Home Assistant" msg_info "Stopping Home Assistant"
systemctl stop homeassistant systemctl stop homeassistant
@@ -85,7 +84,7 @@ function update_script() {
msg_info "Updating Home Assistant" msg_info "Updating Home Assistant"
source /srv/homeassistant/bin/activate source /srv/homeassistant/bin/activate
uv pip install ${BR}--upgrade homeassistant &>/dev/null pip install ${BR}--upgrade homeassistant &>/dev/null
msg_ok "Updated Home Assistant" msg_ok "Updated Home Assistant"
msg_info "Starting Home Assistant" msg_info "Starting Home Assistant"
@@ -97,32 +96,21 @@ function update_script() {
exit exit
fi fi
if [ "$UPD" == "2" ]; then if [ "$UPD" == "2" ]; then
msg_info "Installing Home Assistant Community Store (HACS)" msg_info "Installing Home Assistant Comunity Store (HACS)"
apt update &>/dev/null apt update &>/dev/null
apt install unzip &>/dev/null apt install unzip &>/dev/null
cd .homeassistant cd .homeassistant
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
msg_ok "Installed Home Assistant Community Store (HACS)" msg_ok "Installed Home Assistant Comunity Store (HACS)"
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
exit exit
fi fi
if [ "$UPD" == "3" ]; then if [ "$UPD" == "3" ]; then
set +Eeuo pipefail
read -r -p "Would you like to use No Authentication? <y/N> " prompt
msg_info "Installing FileBrowser" msg_info "Installing FileBrowser"
RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g') curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/$RELEASE/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
filebrowser config init -a '0.0.0.0' &>/dev/null filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null filebrowser config set -a '0.0.0.0' &>/dev/null
filebrowser config set --auth.method=noauth &>/dev/null filebrowser users add admin changeme --perm.admin &>/dev/null
filebrowser users add ID 1 --perm.admin &>/dev/null
else
filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null
fi
msg_ok "Installed FileBrowser" msg_ok "Installed FileBrowser"
msg_info "Creating Service" msg_info "Creating Service"
@@ -137,14 +125,86 @@ ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
[Install] [Install]
WantedBy=default.target" >$service_path WantedBy=default.target" >$service_path
systemctl enable --now -q filebrowser.service systemctl enable --now filebrowser.service &>/dev/null
msg_ok "Created Service" msg_ok "Created Service"
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "FileBrowser should be reachable by going to the following URL. echo -e "FileBrowser should be reachable by going to the following URL.
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n" ${BL}http://$IP:8080${CL} admin|changeme\n"
exit exit
fi fi
if [ "$UPD" == "4" ]; then
clear
header_info
if [[ ! -d /srv/appdaemon ]]; then
msg_info "Installing AppDaemon"
mkdir /srv/appdaemon
cd /srv/appdaemon
python3 -m venv .
source bin/activate
pip install appdaemon &>/dev/null
mkdir -p /root/.homeassistant/appdaemon/apps
cat >/root/.homeassistant/appdaemon/appdaemon.yaml <<EOF
# Sample appdaemon.yml file
# For configuration, please visit: https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html
appdaemon:
time_zone: CET
latitude: 51.725
longitude: 14.3434
elevation: 0
plugins:
HASS:
type: hass
ha_url: <home_assistant_base_url>
token: <some_long_lived_access_token>
http:
url: http://127.0.0.1:5050
admin:
api:
EOF
msg_ok "Installed AppDaemon"
msg_info "Creating Service"
cat >/etc/systemd/system/appdaemon.service <<EOF
[Unit]
Description=AppDaemon
After=homeassistant.service
Requires=homeassistant.service
[Service]
Type=simple
WorkingDirectory=/root/.homeassistant/appdaemon
ExecStart=/srv/appdaemon/bin/appdaemon -c "/root/.homeassistant/appdaemon"
RestartForceExitStatus=100
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now appdaemon &>/dev/null
msg_ok "Created Service"
msg_ok "Completed Successfully!\n"
echo -e "AppDaemon should be reachable by going to the following URL.
${BL}http://$IP:5050${CL}\n"
exit
else
msg_info "Upgrading AppDaemon"
msg_info "Stopping AppDaemon"
systemctl stop appdaemon
msg_ok "Stopped AppDaemon"
msg_info "Updating AppDaemon"
source /srv/appdaemon/bin/activate
pip install --upgrade appdaemon &>/dev/null
msg_ok "Updated AppDaemon"
msg_info "Starting AppDaemon"
systemctl start appdaemon
sleep 2
msg_ok "Started AppDaemon"
msg_ok "Update Successful"
echo -e "\n Go to http://${IP}:5050 \n"
exit
fi
fi
} }
start start

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="16"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -57,7 +55,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \ UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update ALL Containers" ON \ "1" "Update ALL Containers" ON \
"2" "Remove ALL Unused Images" OFF \ "2" "Remove ALL Unused Images" OFF \
"3" "Install HACS" OFF \ "3" "Install HACS" OFF \
@@ -89,23 +87,22 @@ function update_script() {
exit exit
fi fi
if [ "$UPD" == "3" ]; then if [ "$UPD" == "3" ]; then
msg_info "Installing Home Assistant Community Store (HACS)" msg_info "Installing Home Assistant Comunity Store (HACS)"
apt update &>/dev/null apt update &>/dev/null
apt install unzip &>/dev/null apt install unzip &>/dev/null
cd /var/lib/docker/volumes/hass_config/_data cd /var/lib/docker/volumes/hass_config/_data
bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
msg_ok "Installed Home Assistant Community Store (HACS)" msg_ok "Installed Home Assistant Comunity Store (HACS)"
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
exit exit
fi fi
if [ "$UPD" == "4" ]; then if [ "$UPD" == "4" ]; then
IP=$(hostname -I | awk '{print $1}') IP=$(hostname -I | awk '{print $1}')
msg_info "Installing FileBrowser" msg_info "Installing FileBrowser"
RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g') curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/v2.23.0/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null
filebrowser config init -a '0.0.0.0' &>/dev/null filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null filebrowser config set -a '0.0.0.0' &>/dev/null
filebrowser users add admin helper-scripts.com --perm.admin &>/dev/null filebrowser users add admin changeme --perm.admin &>/dev/null
msg_ok "Installed FileBrowser" msg_ok "Installed FileBrowser"
msg_info "Creating Service" msg_info "Creating Service"
@@ -125,7 +122,7 @@ WantedBy=default.target" >$service_path
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "FileBrowser should be reachable by going to the following URL. echo -e "FileBrowser should be reachable by going to the following URL.
${BL}http://$IP:8080${CL} admin|helper-scripts.com\n" ${BL}http://$IP:8080${CL} admin|changeme\n"
exit exit
fi fi
} }
@@ -138,4 +135,4 @@ 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}:8123${CL} ${BL}http://${IP}:8123${CL}
Portainer should be reachable by going to the following URL. Portainer should be reachable by going to the following URL.
${BL}https://${IP}:9443${CL}\n" ${BL}http://${IP}:9000${CL}\n"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
# Co-Author: MickLesk (Canbiz)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __ ____
/ / / /___ ____ ___ ___ / __ )____ _ __
/ /_/ / __ \/ __ `__ \/ _ \/ __ / __ \| |/_/
/ __ / /_/ / / / / / / __/ /_/ / /_/ /> <
/_/ /_/\____/_/ /_/ /_/\___/_____/\____/_/|_|
EOF
}
header_info
echo -e "Loading..."
APP="HomeBox"
var_disk="4"
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 /opt/homebox ]]; 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
RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/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}"
systemctl stop homebox
msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt
rm -rf homebox_bak
mv homebox homebox_bak
wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
chmod +x /opt/homebox
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Homebox"
msg_info "Starting ${APP}"
systemctl start homebox
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:7745${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,11 +52,12 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get install -y homebridge &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="3"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -55,33 +53,17 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then msg_info "Updating ${APP}"
if ! command -v npm >/dev/null 2>&1; then if ! command -v pnpm >/dev/null 2>&1; then
echo "Installing NPM..." npm install -g pnpm &>/dev/null
apt-get install -y npm >/dev/null 2>&1
npm install -g pnpm >/dev/null 2>&1
echo "Installed NPM..."
fi
fi
RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating Homepage to v${RELEASE} (Patience)"
systemctl stop homepage
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
tar -xzf v${RELEASE}.tar.gz
rm -rf v${RELEASE}.tar.gz
cp -r homepage-${RELEASE}/* /opt/homepage/
rm -rf homepage-${RELEASE}
cd /opt/homepage
npx update-browserslist-db@latest
pnpm install
pnpm build
systemctl start homepage
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated Homepage to v${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
cd /opt/homepage
systemctl stop homepage
git pull --force &>/dev/null
pnpm install &>/dev/null
pnpm build &>/dev/null
systemctl start homepage
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -59,11 +57,10 @@ msg_info "Stopping ${APP}"
systemctl stop homer systemctl stop homer
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Backing up assets directory" msg_info "Backing up config.yml"
cd ~ cd ~
mkdir -p assets-backup cp -R /opt/homer/assets/config.yml config.yml
cp -R /opt/homer/assets/. assets-backup msg_ok "Backed up config.yml"
msg_ok "Backed up assets directory"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
rm -rf /opt/homer/* rm -rf /opt/homer/*
@@ -71,20 +68,19 @@ cd /opt/homer
wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
unzip homer.zip &>/dev/null unzip homer.zip &>/dev/null
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Restoring conf.yml"
msg_info "Restoring assets directory"
cd ~ cd ~
cp -Rf assets-backup/. /opt/homer/assets/ cp -R config.yml /opt/homer/assets
msg_ok "Restored assets directory" msg_ok "Restored conf.yml"
msg_info "Cleaning" msg_info "Cleaning"
rm -rf assets-backup /opt/homer/homer.zip rm -rf config.yml /opt/homer/homer.zip
msg_ok "Cleaned" msg_ok "Cleaned"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
systemctl start homer systemctl start homer
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_ok "Updated Successfully" msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,72 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __ __ ______ ____
/ / / /_ ______ ___ _____/ / / / __ \/ __ \
/ /_/ / / / / __ \/ _ \/ ___/ /_/ / / / / /_/ /
/ __ / /_/ / /_/ / __/ / / __ / /_/ / _, _/
/_/ /_/\__, / .___/\___/_/ /_/ /_/_____/_/ |_|
/____/_/
EOF
}
header_info
echo -e "Loading..."
APP="HyperHDR"
var_disk="4"
var_cpu="2"
var_ram="2048"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="0"
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 [[ ! -d /var ]]; 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"
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}:8090${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -59,7 +57,8 @@ if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then msg_error "No ${APP} I
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get install -y hyperion &>/dev/null apt-get install -y hyperion &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,11 +52,12 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /etc/apt/sources.list.d/influxdb.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP}" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -58,7 +56,8 @@ if [[ ! -d /opt/iobroker ]]; then msg_error "No ${APP} Installation Found!"; exi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,67 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
_ _ __ __
(_) | / /__ ____ / /_____ __ __
/ /| | / / _ \/ __ \/ __/ __ \/ / / /
/ / | |/ / __/ / / / /_/ /_/ / /_/ /
/_/ |___/\___/_/ /_/\__/\____/\__, /
/____/
EOF
}
header_info
echo -e "Loading..."
APP="iVentoy"
var_disk="2"
var_cpu="1"
var_ram="512"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="0"
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() {
if [[ ! -d /opt/iventoy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
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}:26000/ ${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -55,20 +53,10 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/systemd/system/jackett.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /etc/systemd/system/jackett.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) msg_info "Updating ${APP} LXC"
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then apt-get update &>/dev/null
msg_info "Updating ${APP}" apt-get -y upgrade &>/dev/null
wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz msg_ok "Updated ${APP} LXC"
systemctl stop jackett
rm -rf /opt/Jackett
tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
systemctl start jackett
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/ubuntu.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,13 +24,13 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="ubuntu" var_os="ubuntu"
var_version="22.04" var_version="20.04"
variables variables
color color
catch_errors catch_errors
function default_settings() { function default_settings() {
CT_TYPE="1" CT_TYPE="0"
PW="" PW=""
CT_ID=$NEXTID CT_ID=$NEXTID
HN=$NSAPP HN=$NSAPP
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,114 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ ____
/ /__ / / /_ __________ ___ __________
__ / / _ \/ / / / / / ___/ _ \/ _ \/ ___/ ___/
/ /_/ / __/ / / /_/ (__ ) __/ __/ / / /
\____/\___/_/_/\__, /____/\___/\___/_/ /_/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Jellyseerr"
var_disk="8"
var_cpu="4"
var_ram="4096"
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 [[ ! -d /opt/jellyseerr ]]; 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
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your Jellyseerr LXC to 4vcpu and 4096RAM for the build process before continuing" 10 75
if ! command -v pnpm &> /dev/null; then
msg_error "pnpm not found. Installing..."
npm install -g pnpm &>/dev/null
else
msg_ok "pnpm is already installed."
fi
msg_info "Updating $APP"
cd /opt/jellyseerr
output=$(git pull --no-rebase)
if echo "$output" | grep -q "Already up to date."
then
msg_ok "$APP is already up to date."
exit
fi
systemctl stop jellyseerr
export CYPRESS_INSTALL_BINARY=0
pnpm install --frozen-lockfile &>/dev/null
export NODE_OPTIONS="--max-old-space-size=3072"
pnpm build &>/dev/null
cat <<EOF >/etc/systemd/system/jellyseerr.service
[Unit]
Description=jellyseerr Service
After=network.target
[Service]
EnvironmentFile=/etc/jellyseerr/jellyseerr.conf
Environment=NODE_ENV=production
Type=exec
WorkingDirectory=/opt/jellyseerr
ExecStart=/usr/bin/node dist/index.js
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start jellyseerr
msg_ok "Updated $APP"
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 2048
pct set $CTID -cores 2
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:5055${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -8,22 +8,22 @@ source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build
function header_info { function header_info {
clear clear
cat <<"EOF" cat <<"EOF"
________ __ ____ __ __ __ __
/ ____/ /_ ___ ____ ___ / /__/ __ \_____ / //_/_ __/ /_ ___ _________ ___ / /____ _____
/ /_ / __ \/ _ \/ __ `__ \ / //_/ / / / ___/ / ,< / / / / __ \/ _ \/ ___/ __ \/ _ \/ __/ _ \/ ___/
/ __/ / / / / __/ / / / / / / ,< / /_/ (__ ) / /| / /_/ / /_/ / __/ / / / / / __/ /_/ __(__ )
/_/ /_/ /_/\___/_/ /_/ /_/ /_/|_|\____/____/ /_/ |_\__,_/_.___/\___/_/ /_/ /_/\___/\__/\___/____/
EOF EOF
} }
header_info header_info
echo -e "Loading..." echo -e "Loading..."
APP="Fhem" APP="k0s"
var_disk="8" var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -54,11 +52,12 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -f /etc/systemd/system/fhem.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /etc/k0s/k0s.yaml ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }
@@ -67,5 +66,3 @@ build_container
description description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:8083${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -56,13 +54,8 @@ function update_script() {
header_info header_info
if [[ ! -d /opt/Kavita ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/Kavita ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
systemctl stop kavita apt-get update &>/dev/null
RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') apt-get -y upgrade &>/dev/null
tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner &>/dev/null
rm -rf Kavita/config
cp -r Kavita/* /opt/Kavita
rm -rf Kavita
systemctl start kavita
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="2048" var_ram="2048"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -57,33 +55,10 @@ function update_script() {
header_info header_info
if [[ ! -f /etc/systemd/system/keycloak.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -f /etc/systemd/system/keycloak.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
msg_info "Updating packages"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated ${APP} LXC"
RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_ok "Update Successfull"
msg_info "Downloading Keycloak v$RELEASE"
cd /opt
wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
$STD tar -xvf keycloak-$RELEASE.tar.gz
msg_info "Merging configuration files"
cp -r keycloak/conf keycloak-$RELEASE
cp -r keycloak/providers keycloak-$RELEASE
cp -r keycloak/themes keycloak-$RELEASE
msg_info "Updating Keycloak"
mv keycloak keycloak.old
mv keycloak-$RELEASE keycloak
msg_info "Delete temporary installation files"
rm keycloak-$RELEASE.tar.gz
rm -rf keycloak.old
msg_info "Restating Keycloak"
systemctl restart keycloak
msg_ok "Updated Successfully"
exit exit
} }
@@ -93,4 +68,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/admin${CL} \n" ${BL}http://${IP}:8080${CL} \n"

View File

@@ -1,81 +0,0 @@
#!/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: ulmentflam
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __ __
/ //_/_ __/ /_ ____
/ ,< / / / / __ \/ __ \
/ /| / /_/ / /_/ / /_/ /
/_/ |_\__,_/_.___/\____/
EOF
}
header_info
echo -e "Loading..."
APP="Kubo"
var_disk="4"
var_cpu="2"
var_ram="4096"
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/kubo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating $APP LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz"
tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
systemctl restart ipfs.service
echo "${RELEASE}" >/opt/${APP}_version.txt
rm "kubo_${RELEASE}_linux-amd64.tar.gz"
msg_ok "Updated $APP LXC"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
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}:5001/webui ${CL} \n"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
# Co-Author: MountyMapleSyrup (MountyMapleSyrup)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __ _ __ _
/ / ____ _____ __ __/ / (_) /_ _________ ______(_)___ _____
/ / / __ `/_ / / / / / / / / __ \/ ___/ __ `/ ___/ / __ `/ __ \
/ /___/ /_/ / / /_/ /_/ / /___/ / /_/ / / / /_/ / / / / /_/ / / / /
/_____/\__,_/ /___/\__, /_____/_/_.___/_/ \__,_/_/ /_/\__,_/_/ /_/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="LazyLibrarian"
var_disk="4"
var_cpu="2"
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 [[ ! -d /opt/LazyLibrarian/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping LazyLibrarian"
systemctl stop lazylibrarian
msg_ok "LazyLibrarian Stopped"
msg_info "Updating $APP LXC"
git -C /opt/LazyLibrarian pull origin master &>/dev/null
msg_ok "Updated $APP LXC"
msg_info "Starting LazyLibrarian"
systemctl start lazylibrarian
msg_ok "Started LazyLibrarian"
msg_ok "Updated 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}:5299${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""

View File

@@ -1,93 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ _ __ __
/ / (_)___ / /___ ______ __________/ /__ ____
/ / / / __ \/ //_/ | /| / / __ `/ ___/ __ / _ \/ __ \
/ /___/ / / / / ,< | |/ |/ / /_/ / / / /_/ / __/ / / /
/_____/_/_/ /_/_/|_| |__/|__/\__,_/_/ \__,_/\___/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Linkwarden"
var_disk="8"
var_cpu="2"
var_ram="2048"
var_os="ubuntu"
var_version="22.04"
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 [[ ! -d /opt/linkwarden ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping ${APP}"
systemctl stop linkwarden
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/linkwarden
git pull
yarn
npx playwright install-deps
yarn playwright install
yarn prisma generate
yarn build
yarn prisma migrate deploy
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start linkwarden
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP}${CL} should be reachable by going to the following URL.
${BL}http://${IP}:3000${CL} \n"

View File

@@ -1,73 +0,0 @@
#!/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"

View File

@@ -1,85 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ ___ ______
/ |/ /___ _/ __/ /
/ /|_/ / __ `/ /_/ /
/ / / / /_/ / __/ /
/_/ /_/\__,_/_/ /_/
EOF
}
header_info
echo -e "Loading..."
APP="Mafl"
var_disk="6"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/mafl ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your ${APP} LXC to ${var_cpu}vCPU and ${var_ram}RAM for the build process before continuing" 10 75
RELEASE=$(curl -s https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Updating Mafl to v${RELEASE} (Patience)"
systemctl stop mafl
wget -q https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz
tar -xzf v${RELEASE}.tar.gz
cp -r mafl-${RELEASE}/* /opt/mafl/
rm -rf mafl-${RELEASE}
cd /opt/mafl
yarn install
yarn build
systemctl start mafl
msg_ok "Updated Mafl to v${RELEASE}"
exit
}
start
build_container
description
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 1024
pct set $CTID -cores 1
msg_ok "Set Container to Normal Resources"
msg_ok "Completed Successfully!\n"
echo -e "${APP} should be reachable by going to the following URL.
${BL}http://${IP}:3000${CL} \n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -24,7 +24,7 @@ var_disk="3"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -38,10 +38,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -56,18 +54,12 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/magicmirror ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/magicmirror ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
apt-get install -y npm >/dev/null 2>&1
echo "Installed NPM..."
fi
fi
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
cd /opt/magicmirror cd /opt/magicmirror
git pull &>/dev/null git pull &>/dev/null
npm install --only=prod --omit=dev &>/dev/null npm install --only=prod --omit=dev &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/next/misc/debian.func)
# Copyright (c) 2021-2024 tteck # Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -23,7 +23,7 @@ var_disk="4"
var_cpu="1" var_cpu="1"
var_ram="1024" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@@ -37,10 +37,8 @@ function default_settings() {
CORE_COUNT="$var_cpu" CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram" RAM_SIZE="$var_ram"
BRG="vmbr0" BRG="vmbr0"
NET="dhcp" NET=dhcp
GATE="" GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no" DISABLEIP6="no"
MTU="" MTU=""
SD="" SD=""
@@ -58,7 +56,8 @@ if [[ ! -f /etc/apt/sources.list.d/mariadb.list ]]; then msg_error "No ${APP} In
msg_info "Updating ${APP} LXC" msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null apt-get -y upgrade &>/dev/null
msg_ok "Updated Successfully" msg_ok "Updated ${APP} LXC"
msg_ok "Update Successfull"
exit exit
} }

View File

@@ -1,68 +0,0 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ ___ __ __ __ _ __
/ |/ /___ _/ /_/ /____ _____/ /_ _____(_)___/ /___ ____
/ /|_/ / __ `/ __/ __/ _ \/ ___/ __ \/ ___/ / __ / __ `/ _ \
/ / / / /_/ / /_/ /_/ __/ / / /_/ / / / / /_/ / /_/ / __/
/_/ /_/\__,_/\__/\__/\___/_/ /_.___/_/ /_/\__,_/\__, /\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="Matterbridge"
var_disk="4"
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 [[ ! -d /root/Matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "Update via the Matterbridge UI"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:8283${CL} \n"

View File

@@ -1,68 +0,0 @@
#!/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)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ ___ ___ __ __________ __
/ |/ /__ ____/ (_)___ _/ |/ /_ __/ |/ /
/ /|_/ / _ \/ __ / / __ `/ /|_/ / / / | /
/ / / / __/ /_/ / / /_/ / / / / / / / |
/_/ /_/\___/\__,_/_/\__,_/_/ /_/ /_/ /_/|_|
EOF
}
header_info
echo -e "Loading..."
APP="MediaMTX"
var_disk="4"
var_cpu="2"
var_ram="2048"
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 [[ ! -d /opt/mediamtx/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"

Some files were not shown because too many files have changed in this diff Show More