mirror of
https://github.com/tteck/Proxmox.git
synced 2025-02-19 12:56:01 +00:00
Compare commits
32 Commits
main
...
d8c38c40c8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d8c38c40c8 | ||
|
|
2a4097d663 | ||
|
|
710f92871a | ||
|
|
453d6f566a | ||
|
|
52a66dd6f0 | ||
|
|
d528ceb75a | ||
|
|
5aa04f46e0 | ||
|
|
cb05e65788 | ||
|
|
92c971566f | ||
|
|
fff3a6864e | ||
|
|
93c62470b3 | ||
|
|
1775053616 | ||
|
|
9157c616ac | ||
|
|
a965e77f7e | ||
|
|
c527ec90ef | ||
|
|
75063708ed | ||
|
|
62c2da36cc | ||
|
|
a2dde479c5 | ||
|
|
2f1b9e27b8 | ||
|
|
ddafd1f871 | ||
|
|
5092297a92 | ||
|
|
f6ca207f58 | ||
|
|
6b222b9ab8 | ||
|
|
310cc3ebe6 | ||
|
|
453ee8dcce | ||
|
|
8d141b4c06 | ||
|
|
ca2e47dfc5 | ||
|
|
c91484dfb8 | ||
|
|
099815350e | ||
|
|
258e7535e6 | ||
|
|
04f60eee38 | ||
|
|
4b6a6b9574 |
20
.github/pull_request_template.md
vendored
20
.github/pull_request_template.md
vendored
@@ -1,20 +1,18 @@
|
|||||||
> [!NOTE]
|
## I wanted to make you aware that I am meticulous when it comes to merging code into the main branch, so please don't take it personally if I reject your request.
|
||||||
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 (non-breaking change which fixes an issue)
|
||||||
|
- [ ] New feature (non-breaking change which adds functionality)
|
||||||
|
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||||
|
- [ ] New Script (Develop a new script or set of scripts that are fully functional and thoroughly tested)
|
||||||
|
- [ ] I have performed a self-review of my code, adhering to established codebase patterns and conventions.
|
||||||
|
- [ ] This change requires a documentation update
|
||||||
|
|||||||
219
CHANGELOG.md
219
CHANGELOG.md
@@ -3,225 +3,12 @@
|
|||||||
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<h1 align="center">Changelog</h1>
|
<h1 align="center">Change Log</h1>
|
||||||
|
|
||||||
<h3 align="center">All notable changes to this project will be documented in this file.</h3>
|
<h3 align="center">All notable changes to this project will be documented in this file.</h3>
|
||||||
|
|
||||||
> [!CAUTION]
|
- All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
- 🚨 **The scripts in the repository will no longer provide support for Proxmox VE 7 starting from July 2024 (scripts will not execute on PVE7). Subsequent <a href='https://forum.proxmox.com/threads/proxmox-ve-support-lifecycle.35755/' target='_blank' rel='noopener noreferrer'>Proxmox VE - Support Lifecycle</a>**
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
|
||||||
|
|
||||||
## 2024-10-27
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Open WebUI LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/8a21f6e7f025a911865395d4c0fa9a001bd0d512)
|
|
||||||
- Refactor Script to add an option to install Ollama.
|
|
||||||
|
|
||||||
## 2024-10-26
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **AdventureLog LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/adventurelog-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-10-25
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Zoraxy LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/468a5d367ded4cf453a1507452e112ac3e234e2a)
|
|
||||||
- Switch built from source to a pre-compiled binary version.
|
|
||||||
- Breaking Change
|
|
||||||
|
|
||||||
## 2024-10-23
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Wallos LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/wallos-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Open WebUI LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/openwebui-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-10-19
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Cockpit LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/cockpit-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Neo4j LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/neo4j-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-10-18
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **ArchiveBox LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/archivebox-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-10-15
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **evcc LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/evcc-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-10-10
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **MySQL LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/mysql-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Tianji LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/4c83a790ac9b040da1f11ad2cbe13d3fc5f480e9)
|
|
||||||
- Breaking Change
|
|
||||||
- Switch from `pm2` process management to `systemd`
|
|
||||||
|
|
||||||
## 2024-10-03
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Home Assistant Core LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/f2937febe69b2bad8b3a14eb84aa562a8f14cc6a) [(Commit)](https://github.com/tteck/Proxmox/commit/f2966ced7f457fd506f865f7f5b70ea12c4b0049)
|
|
||||||
- Refactor Code
|
|
||||||
- Breaking Change
|
|
||||||
- Home Assistant has transitioned to using `uv` for managing the virtual environment and installing additional modules.
|
|
||||||
|
|
||||||
## 2024-09-16
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **HomeBox LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/homebox-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Zipline LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/zipline-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-09-13
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Tianji LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/tianji-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-08-21
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **WireGuard LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/723365a79df7cc0fd29b1af8f7ef200a7e0921b1)
|
|
||||||
- Refactor Code
|
|
||||||
- Breaking Change
|
|
||||||
|
|
||||||
## 2024-08-19
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **CommaFeed LXC** [(Commit)](https://github.com/tteck/Proxmox/commit/0a33d1739ec3a49011411929bd46a260e92e99f9)
|
|
||||||
- Refactor Code
|
|
||||||
- Breaking Change
|
|
||||||
|
|
||||||
## 2024-08-06
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **lldap LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/lldap-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-07-26
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Gitea LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/gitea-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-06-30
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **All Scripts** [(Commit)](https://github.com/tteck/Proxmox/commit/39ea1d4a20b83c07d084ebafdc811eec3548f289)
|
|
||||||
- Requires Proxmox Virtual Environment version 8.1 or later.
|
|
||||||
|
|
||||||
## 2024-06-27
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Kubo LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/kubo-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **RabbitMQ LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/rabbitmq-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Scrutiny LXC**
|
|
||||||
- Removed from website, broken.
|
|
||||||
|
|
||||||
## 2024-06-26
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Scrutiny LXC**
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-06-14
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **MySpeed LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/myspeed-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-06-13
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **PeaNUT LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/peanut-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Website**
|
|
||||||
- If the Changelog has changed recently, the link on the website will pulse.
|
|
||||||
- **Spoolman LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/spoolman-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-06-12
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **MeTube LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/metube-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Matterbridge LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/matterbridge-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Website**
|
|
||||||
- Reopen the gh-pages site (https://tteck.github.io/Proxmox/)
|
|
||||||
|
|
||||||
## 2024-06-11
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Zabbix LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/zabbix-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-06-06
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Petio LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/petio-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
- **Website**
|
|
||||||
- Important notices will now be displayed on the landing page.
|
|
||||||
|
|
||||||
## 2024-06-04
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **FlareSolverr LXC** [(View Source)](https://github.com/tteck/Proxmox/blob/main/install/flaresolverr-install.sh)
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-05-31
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Advanced Settings** [(Commit)](https://github.com/tteck/Proxmox/commit/fc9dff220b4ea426d3a75178ad8accacae4683ca)
|
|
||||||
- Passwords are now masked
|
|
||||||
|
|
||||||
## 2024-05-30
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- **Forgejo LXC**
|
|
||||||
- NEW Script
|
|
||||||
|
|
||||||
## 2024-05-28
|
## 2024-05-28
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
<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, we’re 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 we’re 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>
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
<img src="https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo.png" height="100px" />
|
||||||
@@ -7,7 +6,8 @@
|
|||||||
<h1 align="center">Proxmox VE Helper-Scripts</h1>
|
<h1 align="center">Proxmox VE Helper-Scripts</h1>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://helper-scripts.com">Website</a> |
|
<a href="https://helper-scripts.com/terms-of-use">Terms of Use</a> |
|
||||||
|
<a href="https://helper-scripts.com/">Website</a> |
|
||||||
<a href="https://github.com/tteck/Proxmox/blob/main/.github/CONTRIBUTING.md">Contribute</a> |
|
<a href="https://github.com/tteck/Proxmox/blob/main/.github/CONTRIBUTING.md">Contribute</a> |
|
||||||
<a href="https://github.com/tteck/Proxmox/blob/main/USER_SUBMITTED_GUIDES.md">Guides</a> |
|
<a href="https://github.com/tteck/Proxmox/blob/main/USER_SUBMITTED_GUIDES.md">Guides</a> |
|
||||||
<a href="https://github.com/tteck/Proxmox/blob/main/CHANGELOG.md">Changelog</a> |
|
<a href="https://github.com/tteck/Proxmox/blob/main/CHANGELOG.md">Changelog</a> |
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
<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>
|
<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)
|
[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 Separate Zigbee2MQTT From Home Assistant In Proxmox](https://smarthomescene.com/guides/how-to-separate-zigbee2mqtt-from-home-assistant-in-proxmox/)
|
||||||
@@ -38,7 +36,3 @@
|
|||||||
[Proxmox + NetData](<https://dbt3ch.com/books/proxmox-netdata-for-better-insights-and-notifications/page/proxmox-netdata-for-better-insights-and-notifications>)
|
[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>)
|
[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>)
|
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ if [[ ! -d /opt/actualbudget ]]; then msg_error "No ${APP} Installation Found!";
|
|||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
systemctl stop actualbudget.service
|
systemctl stop actualbudget.service
|
||||||
cd /opt/actualbudget
|
cd /opt/actualbudget
|
||||||
git pull &>/dev/null
|
git pull
|
||||||
yarn install &>/dev/null
|
yarn install
|
||||||
systemctl start actualbudget.service
|
systemctl start actualbudget.service
|
||||||
msg_ok "Successfully Updated ${APP}"
|
msg_ok "Successfully Updated ${APP}"
|
||||||
exit
|
exit
|
||||||
|
|||||||
@@ -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"
|
|
||||||
@@ -60,10 +60,12 @@ function update_script() {
|
|||||||
if ! apk -e info newt >/dev/null 2>&1; then
|
if ! apk -e info newt >/dev/null 2>&1; then
|
||||||
apk add -q newt
|
apk add -q newt
|
||||||
fi
|
fi
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/nextcloud/server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
while true; do
|
while true; do
|
||||||
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
|
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
|
||||||
"1" "Nextcloud Login Credentials" ON \
|
"1" "Update Nextcloud to $RELEASE" OFF \
|
||||||
"2" "Renew Self-signed Certificate" OFF \
|
"2" "Nextcloud Login Credentials" ON \
|
||||||
|
"3" "Renew Self-signed Certificate" OFF \
|
||||||
3>&1 1>&2 2>&3)
|
3>&1 1>&2 2>&3)
|
||||||
exit_status=$?
|
exit_status=$?
|
||||||
if [ $exit_status == 1 ]; then
|
if [ $exit_status == 1 ]; then
|
||||||
@@ -73,10 +75,22 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
cat nextcloud.creds
|
apk update && apk upgrade
|
||||||
|
if ! apk -e info php82-sodium >/dev/null 2>&1; then
|
||||||
|
apk add -q php82-sodium
|
||||||
|
fi
|
||||||
|
if ! apk -e info php82-bz2 >/dev/null 2>&1; then
|
||||||
|
apk add -q php82-bz2
|
||||||
|
fi
|
||||||
|
su nextcloud -s /bin/sh -c 'php82 /usr/share/webapps/nextcloud/occ upgrade'
|
||||||
|
su nextcloud -s /bin/sh -c 'php82 /usr/share/webapps/nextcloud/occ db:add-missing-indices'
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
|
cat nextcloud.creds
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
3)
|
||||||
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
|
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
|
rc-service nginx restart
|
||||||
exit
|
exit
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
apk update && apk upgrade && rc-service vaultwarden restart -q
|
apk update && apk upgrade
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
|
|||||||
@@ -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"
|
|
||||||
@@ -55,25 +55,10 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
|
msg_info "Updating $APP"
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
apt-get update &>/dev/null
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
apt-get -y upgrade &>/dev/null
|
||||||
|
msg_ok "Updated $APP"
|
||||||
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
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ function update_script() {
|
|||||||
rm kepubify-linux-64bit
|
rm kepubify-linux-64bit
|
||||||
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit &>/dev/null
|
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit &>/dev/null
|
||||||
chmod +x kepubify-linux-64bit
|
chmod +x kepubify-linux-64bit
|
||||||
|
rm /opt/calibre-web/metadata.db
|
||||||
|
wget https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -P /opt/calibre-web
|
||||||
menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \
|
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 \
|
"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 \
|
"3" "Enables displaying of additional author infos on the authors page" OFF \
|
||||||
@@ -81,7 +83,7 @@ function update_script() {
|
|||||||
line=0
|
line=0
|
||||||
elif [ $i == "gmail" ]; then
|
elif [ $i == "gmail" ]; then
|
||||||
line=1
|
line=1
|
||||||
elif [ $i == "goodreads" ]; then
|
elif [ $i == "goodreads" ]; then
|
||||||
line=2
|
line=2
|
||||||
elif [ $i == "ldap" ]; then
|
elif [ $i == "ldap" ]; then
|
||||||
line=3
|
line=3
|
||||||
@@ -102,8 +104,8 @@ function update_script() {
|
|||||||
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)
|
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 &
|
||||||
SPINNER_PID=$!
|
SPINNER_PID=$!
|
||||||
options=()
|
|
||||||
if [ ! -z "$CHOICES" ]; then
|
if [ ! -z "$CHOICES" ]; then
|
||||||
|
declare -a options
|
||||||
for CHOICE in $CHOICES; do
|
for CHOICE in $CHOICES; do
|
||||||
case "$CHOICE" in
|
case "$CHOICE" in
|
||||||
"1")
|
"1")
|
||||||
|
|||||||
@@ -62,17 +62,6 @@ if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
|
|||||||
fi
|
fi
|
||||||
pip3 install changedetection.io --upgrade &>/dev/null
|
pip3 install changedetection.io --upgrade &>/dev/null
|
||||||
pip3 install playwright --upgrade &>/dev/null
|
pip3 install playwright --upgrade &>/dev/null
|
||||||
if [[ -f /etc/systemd/system/browserless.service ]]; then
|
|
||||||
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
|
systemctl restart changedetection
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
|
|||||||
125
ct/cockpit.sh
125
ct/cockpit.sh
@@ -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"
|
|
||||||
@@ -55,27 +55,19 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/commafeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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)
|
msg_info "Stopping CommaFeed"
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
systemctl stop commafeed
|
||||||
msg_info "Stopping ${APP}"
|
msg_ok "Stopped CommaFeed"
|
||||||
systemctl stop commafeed
|
|
||||||
msg_ok "Stopped ${APP}"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating CommaFeed"
|
||||||
wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
|
cd /opt/commafeed
|
||||||
unzip -q commafeed-${RELEASE}-h2-jvm.zip
|
rm commafeed.jar
|
||||||
rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
|
wget -q https://github.com/Athou/commafeed/releases/latest/download/commafeed.jar
|
||||||
rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip
|
msg_ok "Updated CommaFeed"
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
msg_info "Starting CommaFeed"
|
||||||
systemctl start commafeed
|
systemctl start commafeed
|
||||||
msg_ok "Started ${APP}"
|
msg_ok "Update Completed Successfully"
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,9 +75,10 @@ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}
|
|||||||
rm -rf /opt/dashy
|
rm -rf /opt/dashy
|
||||||
mkdir -p /opt/dashy
|
mkdir -p /opt/dashy
|
||||||
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
|
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
|
||||||
|
sed -i 's/NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build/NODE_OPTIONS=yarn vue-cli-service build/' /opt/dashy/package.json
|
||||||
cd /opt/dashy
|
cd /opt/dashy
|
||||||
npm install
|
yarn &>/dev/null
|
||||||
npm run build
|
yarn build &>/dev/null
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|
||||||
|
|||||||
@@ -57,20 +57,22 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
|
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||||
|
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||||
|
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||||
|
fi
|
||||||
msg_info "Stopping ErsatzTV"
|
msg_info "Stopping ErsatzTV"
|
||||||
systemctl stop ersatzTV
|
systemctl stop ersatzTV
|
||||||
msg_ok "Stopped ErsatzTV"
|
msg_ok "Stopped ErsatzTV"
|
||||||
|
|
||||||
msg_info "Updating ErsatzTV"
|
msg_info "Updating ErsatzTV"
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
||||||
cp -R /opt/ErsatzTV/ ErsatzTV-backup
|
if [ -d /opt/ErsatzTV/ErsatzTV_bak ]; then
|
||||||
rm ErsatzTV-backup/ErsatzTV
|
rm -rf /opt/ErsatzTV/ErsatzTV_bak
|
||||||
rm -rf /opt/ErsatzTV
|
fi
|
||||||
|
mv /opt/ErsatzTV/ErsatzTV /opt/ErsatzTV/ErsatzTV_bak
|
||||||
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
|
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
|
||||||
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
||||||
cp -R ErsatzTV-backup/* /opt/ErsatzTV/
|
|
||||||
rm -rf ErsatzTV-backup
|
|
||||||
msg_ok "Updated ErsatzTV"
|
msg_ok "Updated ErsatzTV"
|
||||||
|
|
||||||
msg_info "Starting ErsatzTV"
|
msg_info "Starting ErsatzTV"
|
||||||
|
|||||||
70
ct/evcc.sh
70
ct/evcc.sh
@@ -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"
|
|
||||||
@@ -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"
|
|
||||||
@@ -55,7 +55,6 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -f /etc/systemd/system/flowise.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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}"
|
msg_info "Updating ${APP}"
|
||||||
systemctl stop flowise
|
systemctl stop flowise
|
||||||
npm install -g flowise --upgrade
|
npm install -g flowise --upgrade
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ function default_settings() {
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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."
|
msg_error "There is currently no update path available."
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
77
ct/gitea.sh
77
ct/gitea.sh
@@ -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"
|
|
||||||
24
ct/gotify.sh
24
ct/gotify.sh
@@ -55,29 +55,7 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
|
msg_error "There is currently no update path available."
|
||||||
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
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,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"
|
||||||
@@ -121,7 +121,7 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
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
|
||||||
fi
|
fi
|
||||||
msg_ok "Installed FileBrowser"
|
msg_ok "Installed FileBrowser"
|
||||||
|
|
||||||
@@ -142,7 +142,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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ function update_script() {
|
|||||||
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
|
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 +125,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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
|
||||||
@@ -69,7 +69,6 @@ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}
|
|||||||
systemctl stop homepage
|
systemctl stop homepage
|
||||||
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
|
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
|
||||||
tar -xzf v${RELEASE}.tar.gz
|
tar -xzf v${RELEASE}.tar.gz
|
||||||
rm -rf v${RELEASE}.tar.gz
|
|
||||||
cp -r homepage-${RELEASE}/* /opt/homepage/
|
cp -r homepage-${RELEASE}/* /opt/homepage/
|
||||||
rm -rf homepage-${RELEASE}
|
rm -rf homepage-${RELEASE}
|
||||||
cd /opt/homepage
|
cd /opt/homepage
|
||||||
|
|||||||
18
ct/homer.sh
18
ct/homer.sh
@@ -59,11 +59,11 @@ 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
|
cp -R /opt/homer/assets/tools tools
|
||||||
msg_ok "Backed up assets directory"
|
msg_ok "Backed up config.yml and tools directory"
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
rm -rf /opt/homer/*
|
rm -rf /opt/homer/*
|
||||||
@@ -71,14 +71,14 @@ 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"
|
cp -R tools /opt/homer/assets
|
||||||
|
msg_ok "Restored config.yml and tools directory"
|
||||||
|
|
||||||
msg_info "Cleaning"
|
msg_info "Cleaning"
|
||||||
rm -rf assets-backup /opt/homer/homer.zip
|
rm -rf config.yml tools /opt/homer/homer.zip
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
msg_info "Starting ${APP}"
|
||||||
|
|||||||
@@ -55,20 +55,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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ header_info
|
|||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="Jellyseerr"
|
APP="Jellyseerr"
|
||||||
var_disk="8"
|
var_disk="8"
|
||||||
var_cpu="4"
|
var_cpu="2"
|
||||||
var_ram="4096"
|
var_ram="2048"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="12"
|
||||||
variables
|
variables
|
||||||
@@ -55,46 +55,19 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/jellyseerr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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"
|
msg_info "Updating $APP"
|
||||||
|
systemctl stop jellyseerr
|
||||||
cd /opt/jellyseerr
|
cd /opt/jellyseerr
|
||||||
output=$(git pull --no-rebase)
|
output=$(git pull)
|
||||||
|
git pull &>/dev/null
|
||||||
if echo "$output" | grep -q "Already up to date."
|
if echo "$output" | grep -q "Already up to date."
|
||||||
then
|
then
|
||||||
msg_ok "$APP is already up to date."
|
msg_ok " $APP is already up to date."
|
||||||
|
systemctl start jellyseerr
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
systemctl stop jellyseerr
|
yarn install &>/dev/null
|
||||||
export CYPRESS_INSTALL_BINARY=0
|
yarn build &>/dev/null
|
||||||
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
|
systemctl start jellyseerr
|
||||||
msg_ok "Updated $APP"
|
msg_ok "Updated $APP"
|
||||||
exit
|
exit
|
||||||
@@ -104,11 +77,6 @@ start
|
|||||||
build_container
|
build_container
|
||||||
description
|
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"
|
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}:5055${CL} \n"
|
${BL}http://${IP}:5055${CL} \n"
|
||||||
|
|||||||
@@ -1,30 +1,29 @@
|
|||||||
#!/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/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2024 tteck
|
# Copyright (c) 2021-2024 tteck
|
||||||
# Author: tteck
|
# Author: tteck (tteckster)
|
||||||
# Co-Author: MickLesk (Canbiz)
|
|
||||||
# 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"
|
||||||
__ ___ _____ ____ __
|
__ ____ __ __ __ __
|
||||||
/ |/ /_ __/ ___// __ \ / /
|
/ /__/ __ \_____ / //_/_ __/ /_ ___ _________ ___ / /____ _____
|
||||||
/ /|_/ / / / /\__ \/ / / / / /
|
/ //_/ / / / ___/ / ,< / / / / __ \/ _ \/ ___/ __ \/ _ \/ __/ _ \/ ___/
|
||||||
/ / / / /_/ /___/ / /_/ / / /___
|
/ ,< / /_/ (__ ) / /| / /_/ / /_/ / __/ / / / / / __/ /_/ __(__ )
|
||||||
/_/ /_/\__, //____/\___\_\/_____/
|
/_/|_|\____/____/ /_/ |_\__,_/_.___/\___/_/ /_/ /_/\___/\__/\___/____/
|
||||||
/____/
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
header_info
|
header_info
|
||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="MySQL"
|
APP="k0s"
|
||||||
var_disk="4"
|
var_disk="4"
|
||||||
var_cpu="1"
|
var_cpu="2"
|
||||||
var_ram="1024"
|
var_ram="2048"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="11"
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
@@ -55,7 +54,7 @@ function default_settings() {
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -f /usr/share/keyrings/mysql.gpg ]]; 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
|
||||||
@@ -57,32 +57,8 @@ 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
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
|
||||||
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"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
@@ -93,4 +69,4 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
echo -e "${APP} should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:8080/admin${CL} \n"
|
${BL}http://${IP}:8080${CL} \n"
|
||||||
|
|||||||
81
ct/kubo.sh
81
ct/kubo.sh
@@ -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"
|
|
||||||
@@ -67,7 +67,6 @@ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}
|
|||||||
git pull
|
git pull
|
||||||
yarn
|
yarn
|
||||||
npx playwright install-deps
|
npx playwright install-deps
|
||||||
yarn playwright install
|
|
||||||
yarn prisma generate
|
yarn prisma generate
|
||||||
yarn build
|
yarn build
|
||||||
yarn prisma migrate deploy
|
yarn prisma migrate deploy
|
||||||
|
|||||||
73
ct/lldap.sh
73
ct/lldap.sh
@@ -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"
|
|
||||||
@@ -55,7 +55,7 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/mafl ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
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) }')
|
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)"
|
msg_info "Updating Mafl to v${RELEASE} (Patience)"
|
||||||
systemctl stop mafl
|
systemctl stop mafl
|
||||||
|
|||||||
@@ -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"
|
|
||||||
88
ct/memos.sh
88
ct/memos.sh
@@ -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
|
|
||||||
# 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="Memos"
|
|
||||||
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/memos ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating $APP (Patience)"
|
|
||||||
cd /opt/memos
|
|
||||||
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 memos
|
|
||||||
cd /opt/memos/web
|
|
||||||
pnpm i --frozen-lockfile &>/dev/null
|
|
||||||
pnpm build &>/dev/null
|
|
||||||
cd /opt/memos
|
|
||||||
mkdir -p /opt/memos/server/dist
|
|
||||||
cp -r web/dist/* /opt/memos/server/dist/
|
|
||||||
cp -r web/dist/* /opt/memos/server/router/frontend/dist/
|
|
||||||
go build -o /opt/memos/memos -tags=embed bin/memos/main.go &>/dev/null
|
|
||||||
systemctl start memos
|
|
||||||
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}:9030${CL} \n"
|
|
||||||
100
ct/metube.sh
100
ct/metube.sh
@@ -1,100 +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="MeTube"
|
|
||||||
var_disk="10"
|
|
||||||
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/metube ]]; 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} Service"
|
|
||||||
systemctl stop metube
|
|
||||||
msg_ok "Stopped ${APP} Service"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to latest Git"
|
|
||||||
cd /opt
|
|
||||||
if [ -d metube_bak ]; then
|
|
||||||
rm -rf metube_bak
|
|
||||||
fi
|
|
||||||
mv metube metube_bak
|
|
||||||
git clone https://github.com/alexta69/metube /opt/metube >/dev/null 2>&1
|
|
||||||
cd /opt/metube/ui
|
|
||||||
npm install >/dev/null 2>&1
|
|
||||||
node_modules/.bin/ng build >/dev/null 2>&1
|
|
||||||
cd /opt/metube
|
|
||||||
cp /opt/metube_bak/.env /opt/metube/
|
|
||||||
pip3 install pipenv >/dev/null 2>&1
|
|
||||||
pipenv install >/dev/null 2>&1
|
|
||||||
|
|
||||||
if [ -d "/opt/metube_bak" ]; then
|
|
||||||
rm -rf /opt/metube_bak
|
|
||||||
fi
|
|
||||||
msg_ok "Updated ${APP} to latest Git"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP} Service"
|
|
||||||
systemctl start metube
|
|
||||||
sleep 1
|
|
||||||
msg_ok "Started ${APP} Service"
|
|
||||||
msg_ok "Updated Successfully!\n"
|
|
||||||
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}:8081${CL} \n"
|
|
||||||
103
ct/myspeed.sh
103
ct/myspeed.sh
@@ -1,103 +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: 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="MySpeed"
|
|
||||||
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 /opt/myspeed ]]; 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=$(wget -q https://github.com/gnmyt/myspeed/releases/latest -O - | grep "title>Release" | cut -d " " -f 5)
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
|
|
||||||
msg_info "Stopping ${APP} Service"
|
|
||||||
systemctl stop myspeed
|
|
||||||
msg_ok "Stopped ${APP} Service"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
cd /opt
|
|
||||||
rm -rf myspeed_bak
|
|
||||||
mv myspeed myspeed_bak
|
|
||||||
wget -q https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip
|
|
||||||
unzip -q MySpeed-$RELEASE.zip -d myspeed
|
|
||||||
cd myspeed
|
|
||||||
npm install >/dev/null 2>&1
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP} Service"
|
|
||||||
systemctl start myspeed
|
|
||||||
msg_ok "Started ${APP} Service"
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf MySpeed-$RELEASE.zip
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
|
|
||||||
msg_ok "Updated Successfully!\n"
|
|
||||||
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}:5216${CL} \n"
|
|
||||||
@@ -65,7 +65,6 @@ if [[ ! -f /etc/systemd/system/n8n.service ]]; then msg_error "No ${APP} Install
|
|||||||
fi
|
fi
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
npm update -g n8n &>/dev/null
|
npm update -g n8n &>/dev/null
|
||||||
systemctl restart n8n
|
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
72
ct/neo4j.sh
72
ct/neo4j.sh
@@ -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
|
|
||||||
# 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="Neo4j"
|
|
||||||
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 /etc/neo4j ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating ${APP}"
|
|
||||||
apt-get update &>/dev/null
|
|
||||||
apt-get -y upgrade &>/dev/null
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
|
||||||
echo -e "${APP} Browser should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP}:7474${CL} \n"
|
|
||||||
@@ -59,10 +59,9 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
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
|
|
||||||
if ! command -v pnpm &> /dev/null; then
|
if ! command -v pnpm &> /dev/null; then
|
||||||
msg_info "Installing pnpm"
|
msg_info "Installing pnpm"
|
||||||
#export NODE_OPTIONS=--openssl-legacy-provider
|
export NODE_OPTIONS=--openssl-legacy-provider
|
||||||
npm install -g pnpm@8.15 &>/dev/null
|
npm install -g pnpm@8.15 &>/dev/null
|
||||||
msg_ok "Installed pnpm"
|
msg_ok "Installed pnpm"
|
||||||
fi
|
fi
|
||||||
@@ -169,7 +168,6 @@ EOF
|
|||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
||||||
sed -i 's/su npm npm/su root root/g' /etc/logrotate.d/nginx-proxy-manager
|
|
||||||
sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' /opt/certbot/pyvenv.cfg
|
sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' /opt/certbot/pyvenv.cfg
|
||||||
systemctl enable -q --now openresty
|
systemctl enable -q --now openresty
|
||||||
systemctl enable -q --now npm
|
systemctl enable -q --now npm
|
||||||
|
|||||||
72
ct/nzbget.sh
72
ct/nzbget.sh
@@ -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
|
|
||||||
# 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="NZBGet"
|
|
||||||
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 /lib/systemd/system/nzbget.service ]]; 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}:6789${CL} \n"
|
|
||||||
72
ct/ollama.sh
72
ct/ollama.sh
@@ -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
|
|
||||||
# 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="Ollama"
|
|
||||||
var_disk="24"
|
|
||||||
var_cpu="4"
|
|
||||||
var_ram="4096"
|
|
||||||
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/ollama ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating ${APP}"
|
|
||||||
apt-get update &>/dev/null
|
|
||||||
apt-get -y upgrade &>/dev/null
|
|
||||||
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}:11434${CL} \n"
|
|
||||||
@@ -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
|
|
||||||
# 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="Open WebUI"
|
|
||||||
var_disk="16"
|
|
||||||
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/open-webui ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating ${APP} (Patience)"
|
|
||||||
cd /opt/open-webui
|
|
||||||
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 open-webui.service
|
|
||||||
npm install &>/dev/null
|
|
||||||
export NODE_OPTIONS="--max-old-space-size=3584"
|
|
||||||
npm run build &>/dev/null
|
|
||||||
cd ./backend
|
|
||||||
pip install -r requirements.txt -U &>/dev/null
|
|
||||||
systemctl start open-webui.service
|
|
||||||
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}:8080${CL} \n"
|
|
||||||
@@ -67,18 +67,6 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then
|
|
||||||
msg_info "Updating Ghostscript"
|
|
||||||
cd /tmp
|
|
||||||
wget -q https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz
|
|
||||||
tar -xzf ghostscript-10.04.0.tar.gz
|
|
||||||
cd ghostscript-10.04.0
|
|
||||||
./configure &>/dev/null
|
|
||||||
make &>/dev/null
|
|
||||||
sudo make install &>/dev/null
|
|
||||||
rm -rf /tmp/ghostscript*
|
|
||||||
msg_ok "Ghostscript updated to 10.04.0"
|
|
||||||
fi
|
|
||||||
msg_info "Stopping all Paperless-ngx Services"
|
msg_info "Stopping all Paperless-ngx Services"
|
||||||
systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service
|
systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service
|
||||||
msg_ok "Stopped all Paperless-ngx Services"
|
msg_ok "Stopped all Paperless-ngx Services"
|
||||||
|
|||||||
92
ct/peanut.sh
92
ct/peanut.sh
@@ -1,92 +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="PeaNUT"
|
|
||||||
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/peanut.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=$(curl -sL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
|
||||||
systemctl stop peanut
|
|
||||||
wget -qO peanut.tar.gz https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}
|
|
||||||
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1
|
|
||||||
rm peanut.tar.gz
|
|
||||||
cd /opt/peanut
|
|
||||||
pnpm i &>/dev/null
|
|
||||||
pnpm run build &>/dev/null
|
|
||||||
cp -r .next/static .next/standalone/.next/
|
|
||||||
mkdir -p /opt/peanut/.next/standalone/config
|
|
||||||
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml
|
|
||||||
systemctl start peanut
|
|
||||||
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_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"
|
|
||||||
73
ct/petio.sh
73
ct/petio.sh
@@ -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)
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
|
||||||
|
|
||||||
function header_info {
|
|
||||||
clear
|
|
||||||
cat <<"EOF"
|
|
||||||
____ __ _
|
|
||||||
/ __ \___ / /_(_)___
|
|
||||||
/ /_/ / _ \/ __/ / __ \
|
|
||||||
/ ____/ __/ /_/ / /_/ /
|
|
||||||
/_/ \___/\__/_/\____/
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
header_info
|
|
||||||
echo -e "Loading..."
|
|
||||||
APP="Petio"
|
|
||||||
var_disk="4"
|
|
||||||
var_cpu="2"
|
|
||||||
var_ram="1024"
|
|
||||||
var_os="ubuntu"
|
|
||||||
var_version="20.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/Petio ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating $APP"
|
|
||||||
systemctl stop petio.service
|
|
||||||
wget https://petio.tv/releases/latest -O petio-latest.zip
|
|
||||||
unzip petio-latest.zip -d /opt/Petio
|
|
||||||
systemctl start petio.service
|
|
||||||
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}:7777${CL} \n"
|
|
||||||
@@ -56,7 +56,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/pingvin-share ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/pingvin-share ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
msg_info "Stopping Pingvin Share"
|
msg_info "Stopping Pingvin Share"
|
||||||
systemctl stop pm2-root.service
|
pm2 stop pingvin-share-backend pingvin-share-frontend &>/dev/null
|
||||||
msg_ok "Stopped Pingvin Share"
|
msg_ok "Stopped Pingvin Share"
|
||||||
|
|
||||||
msg_info "Updating Pingvin Share"
|
msg_info "Updating Pingvin Share"
|
||||||
@@ -64,15 +64,13 @@ cd /opt/pingvin-share
|
|||||||
git fetch --tags
|
git fetch --tags
|
||||||
git checkout $(git describe --tags `git rev-list --tags --max-count=1`) &>/dev/null
|
git checkout $(git describe --tags `git rev-list --tags --max-count=1`) &>/dev/null
|
||||||
cd backend
|
cd backend
|
||||||
npm install &>/dev/null
|
|
||||||
npm run build &>/dev/null
|
npm run build &>/dev/null
|
||||||
cd ../frontend
|
cd ../frontend
|
||||||
npm install &>/dev/null
|
|
||||||
npm run build &>/dev/null
|
npm run build &>/dev/null
|
||||||
msg_ok "Updated Pingvin Share"
|
msg_ok "Updated Pingvin Share"
|
||||||
|
|
||||||
msg_info "Starting Pingvin Share"
|
msg_info "Starting Pingvin Share"
|
||||||
systemctl start pm2-root.service
|
pm2 start pingvin-share-backend pingvin-share-frontend &>/dev/null
|
||||||
msg_ok "Started Pingvin Share"
|
msg_ok "Started Pingvin Share"
|
||||||
|
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ if [ "$UPD" == "3" ]; then
|
|||||||
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/dev/null
|
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &>/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"
|
||||||
@@ -122,7 +122,7 @@ if [ "$UPD" == "3" ]; then
|
|||||||
|
|
||||||
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
|
if [ "$UPD" == "4" ]; then
|
||||||
|
|||||||
@@ -55,30 +55,7 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -f /etc/systemd/system/prometheus.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -f /etc/systemd/system/prometheus.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
msg_error "There is currently no update path available."
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_info "Stopping ${APP}"
|
|
||||||
systemctl stop prometheus
|
|
||||||
msg_ok "Stopped ${APP}"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz
|
|
||||||
tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz
|
|
||||||
cd prometheus-${RELEASE}.linux-amd64
|
|
||||||
cp -rf prometheus promtool /usr/local/bin/
|
|
||||||
cp -rf consoles/ console_libraries/ /etc/prometheus/
|
|
||||||
cd ~
|
|
||||||
rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start prometheus
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
# 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="RabbitMQ"
|
|
||||||
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 /etc/rabbitmq ]]; 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} Service"
|
|
||||||
systemctl stop rabbitmq-server
|
|
||||||
msg_ok "Stopped ${APP} Service"
|
|
||||||
|
|
||||||
msg_info "Updating..."
|
|
||||||
apt install --only-upgrade rabbitmq-server &>/dev/null
|
|
||||||
msg_ok "Update Successfully"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start rabbitmq-server
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
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}:15672${CL} \n"
|
|
||||||
@@ -55,7 +55,10 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
msg_error "There is currently no update path available."
|
msg_info "Updating $APP LXC"
|
||||||
|
apt-get update &>/dev/null
|
||||||
|
apt-get -y upgrade &>/dev/null
|
||||||
|
msg_ok "Updated $APP LXC"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,21 +55,16 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/sabnzbd ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/sabnzbd ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
|
msg_info "Updating $APP"
|
||||||
|
systemctl stop sabnzbd.service
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/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
|
tar zxvf <(curl -fsSL https://github.com/sabnzbd/sabnzbd/releases/download/$RELEASE/SABnzbd-${RELEASE}-src.tar.gz) &>/dev/null
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
\cp -r SABnzbd-${RELEASE}/* /opt/sabnzbd &>/dev/null
|
||||||
systemctl stop sabnzbd.service
|
rm -rf SABnzbd-${RELEASE}
|
||||||
tar zxvf <(curl -fsSL https://github.com/sabnzbd/sabnzbd/releases/download/$RELEASE/SABnzbd-${RELEASE}-src.tar.gz) &>/dev/null
|
cd /opt/sabnzbd
|
||||||
\cp -r SABnzbd-${RELEASE}/* /opt/sabnzbd &>/dev/null
|
python3 -m pip install -r requirements.txt &>/dev/null
|
||||||
rm -rf SABnzbd-${RELEASE}
|
systemctl start sabnzbd.service
|
||||||
cd /opt/sabnzbd
|
msg_ok "Updated $APP"
|
||||||
python3 -m pip install -r requirements.txt &>/dev/null
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
systemctl start sabnzbd.service
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
else
|
|
||||||
msg_info "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
103
ct/spoolman.sh
103
ct/spoolman.sh
@@ -1,103 +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="Spoolman"
|
|
||||||
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 /opt/spoolman ]]; 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=$(wget -q https://github.com/Donkie/Spoolman/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
|
|
||||||
msg_info "Stopping ${APP} Service"
|
|
||||||
systemctl stop spoolman
|
|
||||||
msg_ok "Stopped ${APP} Service"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
cd /opt
|
|
||||||
rm -rf spoolman_bak
|
|
||||||
mv spoolman spoolman_bak
|
|
||||||
wget -q https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip
|
|
||||||
unzip -q spoolman.zip -d spoolman
|
|
||||||
cd spoolman
|
|
||||||
pip3 install -r requirements.txt >/dev/null 2>&1
|
|
||||||
wget -q https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example -O .env
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP} Service"
|
|
||||||
systemctl start spoolman
|
|
||||||
msg_ok "Started ${APP} Service"
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /opt/spoolman.zip
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
|
|
||||||
msg_ok "Updated Successfully!\n"
|
|
||||||
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}:7912${CL} \n"
|
|
||||||
115
ct/tianji.sh
115
ct/tianji.sh
@@ -1,115 +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="Tianji"
|
|
||||||
var_disk="12"
|
|
||||||
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/tianji ]]; 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/msgbyte/tianji/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
|
|
||||||
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 "Stopping ${APP} Service"
|
|
||||||
systemctl stop tianji
|
|
||||||
msg_ok "Stopped ${APP} Service"
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
cd /opt
|
|
||||||
cp /opt/tianji/src/server/.env /opt/.env
|
|
||||||
mv /opt/tianji /opt/tianji_bak
|
|
||||||
wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv tianji-${RELEASE} /opt/tianji
|
|
||||||
cd tianji
|
|
||||||
pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile >/dev/null 2>&1
|
|
||||||
pnpm build:static >/dev/null 2>&1
|
|
||||||
pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false >/dev/null 2>&1
|
|
||||||
mkdir -p ./src/server/public >/dev/null 2>&1
|
|
||||||
cp -r ./geo ./src/server/public >/dev/null 2>&1
|
|
||||||
pnpm build:server >/dev/null 2>&1
|
|
||||||
mv /opt/.env /opt/tianji/src/server/.env
|
|
||||||
cd src/server
|
|
||||||
pnpm db:migrate:apply >/dev/null 2>&1
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start tianji
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -R /opt/v${RELEASE}.zip
|
|
||||||
rm -rf /opt/tianji_bak
|
|
||||||
rm -rf /opt/tianji/src/client
|
|
||||||
rm -rf /opt/tianji/website
|
|
||||||
rm -rf /opt/tianji/reporter
|
|
||||||
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_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} Setup should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP}:12345${CL} \n"
|
|
||||||
@@ -55,14 +55,13 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -f /etc/systemd/system/traefik.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -f /etc/systemd/system/traefik.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1)
|
RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
msg_info "Updating $APP LXC"
|
msg_info "Updating $APP LXC"
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
|
wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
|
||||||
tar -C /tmp -xzf traefik*.tar.gz
|
tar -C /tmp -xzf traefik*.tar.gz
|
||||||
mv /tmp/traefik /usr/bin/
|
mv /tmp/traefik /usr/bin/
|
||||||
rm -rf traefik*.tar.gz
|
rm -rf traefik*.tar.gz
|
||||||
systemctl restart traefik.service
|
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Updated $APP LXC"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
|||||||
@@ -55,21 +55,23 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/trilium ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/trilium ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -s https://api.github.com/repos/zadam/trilium/releases/latest |
|
||||||
|
grep "tag_name" |
|
||||||
|
awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop trilium.service
|
systemctl stop trilium.service
|
||||||
sleep 1
|
sleep 1
|
||||||
msg_ok "Stopped ${APP}"
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
msg_info "Updating to ${RELEASE}"
|
msg_info "Updating to v${RELEASE}"
|
||||||
wget -q https://github.com/TriliumNext/Notes/releases/download/${RELEASE}/TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
|
wget -q https://github.com/zadam/trilium/releases/download/v$RELEASE/trilium-linux-x64-server-$RELEASE.tar.xz
|
||||||
tar -xf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
|
tar -xvf trilium-linux-x64-server-$RELEASE.tar.xz &>/dev/null
|
||||||
cp -r trilium-linux-x64-server/* /opt/trilium/
|
cp -r trilium-linux-x64-server/* /opt/trilium/
|
||||||
msg_ok "Updated to ${RELEASE}"
|
msg_ok "Updated to v${RELEASE}"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz trilium-linux-x64-server
|
rm -rf trilium-linux-x64-server-$RELEASE.tar.xz trilium-linux-x64-server
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
msg_info "Starting ${APP}"
|
||||||
|
|||||||
28
ct/umami.sh
28
ct/umami.sh
@@ -52,34 +52,6 @@ function default_settings() {
|
|||||||
echo_default
|
echo_default
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
if [[ ! -d /opt/umami ]]; 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
|
|
||||||
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 umami
|
|
||||||
msg_ok "Stopped $APP"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
|
||||||
cd /opt/umami
|
|
||||||
git pull
|
|
||||||
yarn install
|
|
||||||
yarn build
|
|
||||||
msg_ok "Updated ${APP}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start umami
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
start
|
||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|||||||
@@ -17,10 +17,6 @@ cat <<"EOF"
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
header_info
|
header_info
|
||||||
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
|
|
||||||
echo "AVX instruction set is not supported on this CPU."
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="Unifi"
|
APP="Unifi"
|
||||||
var_disk="8"
|
var_disk="8"
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest |
|
VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest |
|
||||||
grep "tag_name" |
|
grep "tag_name" |
|
||||||
awk '{print substr($2, 2, length($2)-3) }')
|
awk '{print substr($2, 2, length($2)-3) }')
|
||||||
@@ -73,7 +72,7 @@ function update_script() {
|
|||||||
|
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
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
|
echo -e "\n ⚠️ Ensure you set 4vCPU & 4096MiB RAM minimum!!! \n"
|
||||||
msg_info "Stopping Vaultwarden"
|
msg_info "Stopping Vaultwarden"
|
||||||
systemctl stop vaultwarden.service
|
systemctl stop vaultwarden.service
|
||||||
msg_ok "Stopped Vaultwarden"
|
msg_ok "Stopped Vaultwarden"
|
||||||
@@ -129,9 +128,6 @@ function update_script() {
|
|||||||
if ! command -v argon2 >/dev/null 2>&1; then apt-get install -y argon2 &>/dev/null; fi
|
if ! command -v argon2 >/dev/null 2>&1; then apt-get install -y argon2 &>/dev/null; fi
|
||||||
TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -t 2 -m 16 -p 4 -l 64 -e)
|
TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -t 2 -m 16 -p 4 -l 64 -e)
|
||||||
sed -i "s|ADMIN_TOKEN=.*|ADMIN_TOKEN='${TOKEN}'|" /opt/vaultwarden/.env
|
sed -i "s|ADMIN_TOKEN=.*|ADMIN_TOKEN='${TOKEN}'|" /opt/vaultwarden/.env
|
||||||
if [[ -f /opt/vaultwarden/data/config.json ]]; then
|
|
||||||
sed -i "s|\"admin_token\":.*|\"admin_token\": \"${TOKEN}\"|" /opt/vaultwarden/data/config.json
|
|
||||||
fi
|
|
||||||
systemctl restart vaultwarden
|
systemctl restart vaultwarden
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
|
|||||||
99
ct/wallos.sh
99
ct/wallos.sh
@@ -1,99 +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="Wallos"
|
|
||||||
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/wallos ]]; 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/ellite/Wallos/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}"
|
|
||||||
cd /opt
|
|
||||||
wget -q "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
mv /opt/wallos/db/wallos.db /opt/wallos.db
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv Wallos-${RELEASE} /opt/wallos
|
|
||||||
rm -rf /opt/wallos/db/wallos.empty.db
|
|
||||||
mv /opt/wallos.db /opt/wallos/db/wallos.db
|
|
||||||
chown -R www-data:www-data /opt/wallos
|
|
||||||
chmod -R 755 /opt/wallos
|
|
||||||
curl http://localhost/endpoints/db/migrate.php &>/dev/null
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP}"
|
|
||||||
|
|
||||||
msg_info "Reload Apache2"
|
|
||||||
systemctl reload apache2
|
|
||||||
msg_ok "Apache2 Reloaded"
|
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -R /opt/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} should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP} ${CL} \n"
|
|
||||||
@@ -23,8 +23,8 @@ header_info
|
|||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="Wastebin"
|
APP="Wastebin"
|
||||||
var_disk="4"
|
var_disk="4"
|
||||||
var_cpu="1"
|
var_cpu="4"
|
||||||
var_ram="1024"
|
var_ram="2048"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="12"
|
||||||
variables
|
variables
|
||||||
@@ -58,31 +58,39 @@ function default_settings() {
|
|||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/wastebin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/wastebin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
|
||||||
msg_info "Stopping Wastebin"
|
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
|
||||||
systemctl stop wastebin
|
|
||||||
msg_ok "Wastebin Stopped"
|
|
||||||
|
|
||||||
msg_info "Updating Wastebin"
|
|
||||||
wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
|
||||||
tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
|
||||||
cp -f wastebin /opt/wastebin/
|
|
||||||
chmod +x /opt/wastebin/wastebin
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated Wastebin"
|
|
||||||
|
|
||||||
msg_info "Starting Wastebin"
|
|
||||||
systemctl start wastebin
|
|
||||||
msg_ok "Started Wastebin"
|
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
fi
|
||||||
|
msg_info "Stopping Wastebin"
|
||||||
|
systemctl stop wastebin
|
||||||
|
msg_ok "Wastebin Stopped"
|
||||||
|
|
||||||
|
msg_info "Updating Wastebin"
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
cd /opt
|
||||||
|
if [ -d wastebin_bak ]; then
|
||||||
|
rm -rf wastebin_bak
|
||||||
|
fi
|
||||||
|
mv wastebin wastebin_bak
|
||||||
|
wget -q "https://github.com/matze/wastebin/archive/refs/tags/${RELEASE}.zip"
|
||||||
|
unzip -q ${RELEASE}.zip
|
||||||
|
mv wastebin-${RELEASE} /opt/wastebin
|
||||||
|
cd /opt/wastebin
|
||||||
|
cargo update -q
|
||||||
|
cargo build -q --release
|
||||||
|
msg_ok "Updated Wastebin"
|
||||||
|
|
||||||
|
msg_info "Starting Wastebin"
|
||||||
|
systemctl start wastebin
|
||||||
|
msg_ok "Started Wastebin"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
cd /opt
|
||||||
|
rm -R ${RELEASE}.zip
|
||||||
|
rm -R wastebin_bak
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,6 +98,10 @@ start
|
|||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|
||||||
|
msg_info "Setting Container to Normal Resources"
|
||||||
|
pct set $CTID -cores 2
|
||||||
|
msg_ok "Set Container to Normal Resources"
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
echo -e "${APP} Setup should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:8088${CL} \n"
|
${BL}http://${IP}:8088${CL} \n"
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ header_info
|
|||||||
if [[ ! -f /usr/local/bin/whoogle-search ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -f /usr/local/bin/whoogle-search ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
pip3 install whoogle-search --upgrade &>/dev/null
|
pip3 install whoogle-search --upgrade &>/dev/null
|
||||||
systemctl restart whoogle.service
|
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ EOF
|
|||||||
header_info
|
header_info
|
||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="Wireguard"
|
APP="Wireguard"
|
||||||
var_disk="4"
|
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
|
||||||
@@ -53,13 +53,70 @@ function default_settings() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
if [[ ! -d /etc/wireguard ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /etc/pivpn/wireguard ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
apt-get update
|
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
|
||||||
apt-get -y upgrade
|
"1" "Update ${APP} LXC" ON \
|
||||||
sleep 2
|
"2" "Install WGDashboard" OFF \
|
||||||
cd /etc/wgdashboard/src
|
3>&1 1>&2 2>&3)
|
||||||
./wgd.sh update
|
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
|
exit
|
||||||
|
fi
|
||||||
|
if [ "$UPD" == "2" ]; then
|
||||||
|
if [[ -f /etc/systemd/system/wg-dashboard.service ]]; then
|
||||||
|
cd /etc/wgdashboard/src
|
||||||
|
chmod u+x wgd.sh
|
||||||
|
./wgd.sh update
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
IP=$(hostname -I | awk '{print $1}')
|
||||||
|
msg_info "Installing Python3-pip"
|
||||||
|
apt-get install -y python3-pip &>/dev/null
|
||||||
|
pip install flask &>/dev/null
|
||||||
|
pip install ifcfg &>/dev/null
|
||||||
|
pip install flask_qrcode &>/dev/null
|
||||||
|
pip install icmplib &>/dev/null
|
||||||
|
msg_ok "Installed Python3-pip"
|
||||||
|
|
||||||
|
msg_info "Installing WGDashboard"
|
||||||
|
WGDREL=$(curl -s https://api.github.com/repos/donaldzou/WGDashboard/releases/latest |
|
||||||
|
grep "tag_name" |
|
||||||
|
awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
|
||||||
|
git clone -b ${WGDREL} https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard &>/dev/null
|
||||||
|
cd /etc/wgdashboard/src
|
||||||
|
chmod u+x wgd.sh
|
||||||
|
./wgd.sh install &>/dev/null
|
||||||
|
chmod -R 755 /etc/wireguard
|
||||||
|
msg_ok "Installed WGDashboard"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
service_path="/etc/systemd/system/wg-dashboard.service"
|
||||||
|
echo "[Unit]
|
||||||
|
After=systemd-networkd.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/etc/wgdashboard/src
|
||||||
|
ExecStart=/usr/bin/python3 /etc/wgdashboard/src/dashboard.py
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target" >$service_path
|
||||||
|
chmod 664 /etc/systemd/system/wg-dashboard.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable wg-dashboard.service &>/dev/null
|
||||||
|
systemctl start wg-dashboard.service &>/dev/null
|
||||||
|
msg_ok "Created Service"
|
||||||
|
echo -e "WGDashboard should be reachable by going to the following URL.
|
||||||
|
${BL}http://${IP}:10086${CL} admin|admin \n"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@@ -67,5 +124,3 @@ build_container
|
|||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "WGDashboard should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP}:10086${CL} admin|admin \n"
|
|
||||||
|
|||||||
72
ct/zabbix.sh
72
ct/zabbix.sh
@@ -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="Zabbix"
|
|
||||||
var_disk="6"
|
|
||||||
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 /etc/zabbix/zabbix_server.conf ]]; 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
|
|
||||||
systemctl restart zabbix-server
|
|
||||||
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}/zabbix${CL} \n"
|
|
||||||
101
ct/zipline.sh
101
ct/zipline.sh
@@ -1,101 +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="Zipline"
|
|
||||||
var_disk="5"
|
|
||||||
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/zipline ]]; 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/diced/zipline/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 zipline
|
|
||||||
msg_ok "${APP} Stopped"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
cp /opt/zipline/.env /opt/
|
|
||||||
rm -R /opt/zipline
|
|
||||||
wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv zipline-${RELEASE} /opt/zipline
|
|
||||||
cd /opt/zipline
|
|
||||||
mv /opt/.env /opt/zipline/.env
|
|
||||||
yarn install &>/dev/null
|
|
||||||
yarn build &>/dev/null
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start zipline
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
|
|
||||||
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"
|
|
||||||
34
ct/zoraxy.sh
34
ct/zoraxy.sh
@@ -20,7 +20,7 @@ header_info
|
|||||||
echo -e "Loading..."
|
echo -e "Loading..."
|
||||||
APP="Zoraxy"
|
APP="Zoraxy"
|
||||||
var_disk="6"
|
var_disk="6"
|
||||||
var_cpu="2"
|
var_cpu="4"
|
||||||
var_ram="2048"
|
var_ram="2048"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="12"
|
||||||
@@ -54,28 +54,30 @@ function default_settings() {
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
if [[ ! -d /opt/zoraxy/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/zoraxy/src ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
msg_info "Updating $APP"
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
systemctl stop zoraxy
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
cd /opt/zoraxy/src
|
||||||
systemctl stop zoraxy
|
if ! git pull; then
|
||||||
wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64"
|
echo "Already up to date."
|
||||||
rm /opt/zoraxy/zoraxy
|
|
||||||
mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
|
|
||||||
chmod +x /opt/zoraxy/zoraxy
|
|
||||||
systemctl start zoraxy
|
systemctl start zoraxy
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "No update required."
|
||||||
msg_ok "Updated $APP"
|
exit
|
||||||
else
|
fi
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
go mod tidy
|
||||||
fi
|
go build
|
||||||
exit
|
systemctl start zoraxy
|
||||||
|
msg_ok "Updated $APP"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|
||||||
|
msg_info "Setting Container to Normal Resources"
|
||||||
|
pct set $CTID -cores 2
|
||||||
|
msg_ok "Set Container to Normal Resources"
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
echo -e "${APP} should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:8000${CL} \n"
|
${BL}http://${IP}:8000${CL} \n"
|
||||||
|
|||||||
@@ -35,13 +35,6 @@ msg_ok "Installed Node.js"
|
|||||||
|
|
||||||
msg_info "Installing Actual Budget"
|
msg_info "Installing Actual Budget"
|
||||||
$STD git clone https://github.com/actualbudget/actual-server.git /opt/actualbudget
|
$STD git clone https://github.com/actualbudget/actual-server.git /opt/actualbudget
|
||||||
mkdir -p /opt/actualbudget/server-files
|
|
||||||
chown -R root:root /opt/actualbudget/server-files
|
|
||||||
chmod 755 /opt/actualbudget/server-files
|
|
||||||
cat <<EOF > /opt/actualbudget/.env
|
|
||||||
ACTUAL_UPLOAD_DIR=/opt/actualbudget/server-files
|
|
||||||
PORT=5006
|
|
||||||
EOF
|
|
||||||
cd /opt/actualbudget
|
cd /opt/actualbudget
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
msg_ok "Installed Actual Budget"
|
msg_ok "Installed Actual Budget"
|
||||||
@@ -53,14 +46,9 @@ Description=Actual Budget Service
|
|||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=exec
|
||||||
User=root
|
|
||||||
Group=root
|
|
||||||
WorkingDirectory=/opt/actualbudget
|
WorkingDirectory=/opt/actualbudget
|
||||||
EnvironmentFile=/opt/actualbudget/.env
|
|
||||||
ExecStart=/usr/bin/yarn start
|
ExecStart=/usr/bin/yarn start
|
||||||
Restart=always
|
|
||||||
RestartSec=10
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
@@ -1,175 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# 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/seanmorley15/AdventureLog
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
gpg \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
mc \
|
|
||||||
gdal-bin \
|
|
||||||
libgdal-dev \
|
|
||||||
git \
|
|
||||||
python3-venv \
|
|
||||||
python3-pip
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Repository"
|
|
||||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
||||||
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
|
||||||
msg_ok "Set up PostgreSQL Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Install/Set up PostgreSQL Database"
|
|
||||||
$STD apt-get install -y postgresql-16 postgresql-16-postgis
|
|
||||||
DB_NAME="adventurelog_db"
|
|
||||||
DB_USER="adventurelog_user"
|
|
||||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
|
||||||
SECRET_KEY="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)"
|
|
||||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
|
||||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
|
|
||||||
$STD sudo -u postgres psql -c "CREATE EXTENSION IF NOT EXISTS postgis;" $DB_NAME
|
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
|
||||||
{
|
|
||||||
echo "AdventureLog-Credentials"
|
|
||||||
echo "AdventureLog Database User: $DB_USER"
|
|
||||||
echo "AdventureLog Database Password: $DB_PASS"
|
|
||||||
echo "AdventureLog Database Name: $DB_NAME"
|
|
||||||
echo "AdventureLog Secret: $SECRET_KEY"
|
|
||||||
} >> ~/adventurelog.creds
|
|
||||||
msg_ok "Set up PostgreSQL"
|
|
||||||
|
|
||||||
msg_info "Installing AdventureLog (Patience)"
|
|
||||||
DJANGO_ADMIN_USER="djangoadmin"
|
|
||||||
DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
|
||||||
LOCAL_IP="$(hostname -I | awk '{print $1}')"
|
|
||||||
cd /opt
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv AdventureLog-${RELEASE} /opt/adventurelog
|
|
||||||
cat <<EOF > /opt/adventurelog/backend/server/.env
|
|
||||||
PGHOST='localhost'
|
|
||||||
PGDATABASE='${DB_NAME}'
|
|
||||||
PGUSER='${DB_USER}'
|
|
||||||
PGPASSWORD='${DB_PASS}'
|
|
||||||
SECRET_KEY='${SECRET_KEY}'
|
|
||||||
PUBLIC_URL='http://$LOCAL_IP:8000'
|
|
||||||
DEBUG=True
|
|
||||||
FRONTEND_URL='http://$LOCAL_IP:3000'
|
|
||||||
CSRF_TRUSTED_ORIGINS='http://127.0.0.1:3000,http://localhost:3000,http://$LOCAL_IP:3000'
|
|
||||||
DJANGO_ADMIN_USERNAME='${DJANGO_ADMIN_USER}'
|
|
||||||
DJANGO_ADMIN_PASSWORD='${DJANGO_ADMIN_PASS}'
|
|
||||||
DISABLE_REGISTRATION=False
|
|
||||||
# EMAIL_BACKEND='email'
|
|
||||||
# EMAIL_HOST='smtp.gmail.com'
|
|
||||||
# EMAIL_USE_TLS=False
|
|
||||||
# EMAIL_PORT=587
|
|
||||||
# EMAIL_USE_SSL=True
|
|
||||||
# EMAIL_HOST_USER='user'
|
|
||||||
# EMAIL_HOST_PASSWORD='password'
|
|
||||||
# DEFAULT_FROM_EMAIL='user@example.com'
|
|
||||||
EOF
|
|
||||||
cd /opt/adventurelog/backend/server
|
|
||||||
mkdir -p /opt/adventurelog/backend/server/media
|
|
||||||
$STD pip install --upgrade pip
|
|
||||||
$STD pip install -r requirements.txt
|
|
||||||
$STD python3 manage.py collectstatic --noinput
|
|
||||||
$STD python3 manage.py migrate
|
|
||||||
$STD python3 manage.py download-countries
|
|
||||||
cat <<EOF > /opt/adventurelog/frontend/.env
|
|
||||||
PUBLIC_SERVER_URL=http://$LOCAL_IP:8000
|
|
||||||
BODY_SIZE_LIMIT=Infinity
|
|
||||||
ORIGIN='http://$LOCAL_IP:3000'
|
|
||||||
EOF
|
|
||||||
cd /opt/adventurelog/frontend
|
|
||||||
$STD pnpm i
|
|
||||||
$STD pnpm build
|
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
|
||||||
msg_ok "Installed AdventureLog"
|
|
||||||
|
|
||||||
msg_info "Setting up Django Admin"
|
|
||||||
$STD python3 /opt/adventurelog/backend/server/manage.py shell << EOF
|
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
UserModel = get_user_model()
|
|
||||||
user = UserModel.objects.create_user('$DJANGO_ADMIN_USER', password='$DJANGO_ADMIN_PASS')
|
|
||||||
user.is_superuser = True
|
|
||||||
user.is_staff = True
|
|
||||||
user.save()
|
|
||||||
EOF
|
|
||||||
{
|
|
||||||
echo ""
|
|
||||||
echo "Django-Credentials"
|
|
||||||
echo "Django Admin User: $DJANGO_ADMIN_USER"
|
|
||||||
echo "Django Admin Password: $DJANGO_ADMIN_PASS"
|
|
||||||
} >> ~/adventurelog.creds
|
|
||||||
msg_ok "Setup Django Admin"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/adventurelog-backend.service
|
|
||||||
[Unit]
|
|
||||||
Description=AdventureLog Backend Service
|
|
||||||
After=network.target postgresql.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
WorkingDirectory=/opt/adventurelog/backend/server
|
|
||||||
ExecStart=python3 manage.py runserver 0.0.0.0:8000
|
|
||||||
Restart=always
|
|
||||||
EnvironmentFile=/opt/adventurelog/backend/server/.env
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
cat <<EOF >/etc/systemd/system/adventurelog-frontend.service
|
|
||||||
[Unit]
|
|
||||||
Description=AdventureLog SvelteKit Frontend Service
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
WorkingDirectory=/opt/adventurelog/frontend
|
|
||||||
ExecStart=/usr/bin/node build 127.0.0.1:3000
|
|
||||||
Restart=always
|
|
||||||
EnvironmentFile=/opt/adventurelog/frontend/.env
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now adventurelog-backend.service
|
|
||||||
systemctl enable -q --now adventurelog-frontend.service
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /opt/v${RELEASE}.zip
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -17,7 +17,6 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apk add newt
|
$STD apk add newt
|
||||||
$STD apk add curl
|
$STD apk add curl
|
||||||
$STD apk add openssh
|
$STD apk add openssh
|
||||||
$STD apk add tzdata
|
|
||||||
$STD apk add nano
|
$STD apk add nano
|
||||||
$STD apk add mc
|
$STD apk add mc
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|||||||
@@ -1,108 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
|
||||||
# Author: tteck
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
mc \
|
|
||||||
git \
|
|
||||||
expect \
|
|
||||||
libssl-dev \
|
|
||||||
libldap2-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
procps \
|
|
||||||
dnsutils \
|
|
||||||
ripgrep
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
python3-pip \
|
|
||||||
python3-ldap \
|
|
||||||
python3-msgpack \
|
|
||||||
python3-regex
|
|
||||||
msg_ok "Installed Python Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Playright/Chromium"
|
|
||||||
$STD pip install playwright
|
|
||||||
$STD playwright install --with-deps chromium
|
|
||||||
msg_ok "Installed Playright/Chromium"
|
|
||||||
|
|
||||||
msg_info "Installing ArchiveBox"
|
|
||||||
mkdir -p /opt/archivebox/{data,.npm,.cache,.local}
|
|
||||||
$STD adduser --system --shell /bin/bash --gecos 'Archive Box User' --group --disabled-password archivebox
|
|
||||||
chown -R archivebox:archivebox /opt/archivebox/{data,.npm,.cache,.local}
|
|
||||||
chmod -R 755 /opt/archivebox/data
|
|
||||||
$STD pip install archivebox
|
|
||||||
cd /opt/archivebox/data
|
|
||||||
expect <<EOF
|
|
||||||
set timeout -1
|
|
||||||
log_user 0
|
|
||||||
|
|
||||||
spawn sudo -u archivebox archivebox setup
|
|
||||||
|
|
||||||
expect "Username"
|
|
||||||
send "\r"
|
|
||||||
|
|
||||||
expect "Email address"
|
|
||||||
send "\r"
|
|
||||||
|
|
||||||
expect "Password"
|
|
||||||
send "helper-scripts.com\r"
|
|
||||||
|
|
||||||
expect "Password (again)"
|
|
||||||
send "helper-scripts.com\r"
|
|
||||||
|
|
||||||
expect eof
|
|
||||||
EOF
|
|
||||||
msg_ok "Installed ArchiveBox"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/archivebox.service
|
|
||||||
[Unit]
|
|
||||||
Description=ArchiveBox Server
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=archivebox
|
|
||||||
WorkingDirectory=/opt/archivebox/data
|
|
||||||
ExecStart=/usr/local/bin/archivebox server 0.0.0.0:8000
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now archivebox.service
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -93,6 +93,6 @@ customize
|
|||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm AriaNg-*-AllInOne.zip
|
rm AriaNg-*-AllInOne.zip
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
@@ -24,7 +24,6 @@ $STD apt-get install -y \
|
|||||||
python3 \
|
python3 \
|
||||||
python3-dev \
|
python3-dev \
|
||||||
python3-pip
|
python3-pip
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
msg_ok "Updated Python3"
|
msg_ok "Updated Python3"
|
||||||
|
|
||||||
msg_info "Installing Bazarr"
|
msg_info "Installing Bazarr"
|
||||||
@@ -63,6 +62,6 @@ customize
|
|||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf bazarr.zip
|
rm -rf bazarr.zip
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
@@ -17,32 +17,25 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y curl
|
$STD apt-get install -y curl
|
||||||
$STD apt-get install -y sudo
|
$STD apt-get install -y sudo
|
||||||
$STD apt-get install -y mc
|
$STD apt-get install -y mc
|
||||||
$STD apt-get install -y gpg
|
$STD apt-get install -y gnupg2
|
||||||
$STD apt-get install -y apt-transport-https
|
$STD apt-get install -y ca-certificates
|
||||||
$STD apt-get install -y lsb-release
|
$STD apt-get install -y lsb-release
|
||||||
|
$STD apt-get install -y debian-archive-keyring
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Nginx"
|
msg_info "Installing Nginx v1.20.0"
|
||||||
wget -qO- https://nginx.org/keys/nginx_signing.key | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg
|
wget -qO- https://nginx.org/keys/nginx_signing.key | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg
|
||||||
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" >/etc/apt/sources.list.d/nginx.list
|
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" >/etc/apt/sources.list.d/nginx.list
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get install -y nginx=1.26.2*
|
$STD apt-get install -y nginx=1.24.0-1~$(lsb_release -cs)
|
||||||
msg_ok "Installed Nginx"
|
msg_ok "Installed Nginx v1.20.0"
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
msg_info "Installing BunkerWeb v1.5.7"
|
||||||
msg_info "Installing BunkerWeb v${RELEASE} (Patience)"
|
|
||||||
curl -fsSL "https://repo.bunkerweb.io/bunkerity/bunkerweb/gpgkey" | gpg --dearmor >/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg] https://repo.bunkerweb.io/bunkerity/bunkerweb/debian/ bookworm main" >/etc/apt/sources.list.d/bunkerity_bunkerweb.list
|
|
||||||
$STD apt-get update
|
|
||||||
export UI_WIZARD=1
|
export UI_WIZARD=1
|
||||||
$STD apt-get install -y bunkerweb=${RELEASE}
|
curl -sSL https://packagecloud.io/install/repositories/bunkerity/bunkerweb/script.deb.sh | bash &>/dev/null
|
||||||
cat <<EOF >/etc/apt/preferences.d/bunkerweb
|
$STD apt-get install -y bunkerweb=1.5.7
|
||||||
Package: bunkerweb
|
#$STD apt-mark hold nginx bunkerweb
|
||||||
Pin: version ${RELEASE}
|
msg_ok "Installed BunkerWeb v1.5.7"
|
||||||
Pin-Priority: 1001
|
|
||||||
EOF
|
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
||||||
msg_ok "Installed BunkerWeb v${RELEASE}"
|
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
msg_info "Installing Python Dependencies"
|
||||||
$STD apt-get -y install python3-pip
|
$STD apt-get -y install python3-pip
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Kepubify"
|
msg_info "Installing Kepubify"
|
||||||
@@ -37,7 +36,6 @@ msg_info "Installing Calibre-Web"
|
|||||||
mkdir -p /opt/calibre-web
|
mkdir -p /opt/calibre-web
|
||||||
$STD wget https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -P /opt/calibre-web
|
$STD wget https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -P /opt/calibre-web
|
||||||
$STD pip install calibreweb
|
$STD pip install calibreweb
|
||||||
$STD pip install jsonschema
|
|
||||||
msg_ok "Installed Calibre-Web"
|
msg_ok "Installed Calibre-Web"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ $STD apt-get install -y \
|
|||||||
python3 \
|
python3 \
|
||||||
python3-dev \
|
python3-dev \
|
||||||
python3-pip
|
python3-pip
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
msg_ok "Updated Python3"
|
msg_ok "Updated Python3"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
msg_info "Setting up Node.js Repository"
|
||||||
@@ -74,11 +73,9 @@ msg_ok "Installed Change Detection"
|
|||||||
msg_info "Installing Browserless & Playwright"
|
msg_info "Installing Browserless & Playwright"
|
||||||
mkdir /opt/browserless
|
mkdir /opt/browserless
|
||||||
$STD python3 -m pip install playwright
|
$STD python3 -m pip install playwright
|
||||||
$STD git clone https://github.com/browserless/chrome /opt/browserless
|
$STD git clone -b v1 https://github.com/browserless/chrome /opt/browserless
|
||||||
$STD npm install --prefix /opt/browserless
|
$STD npm install --prefix /opt/browserless
|
||||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps chrome chromium firefox webkit
|
|
||||||
$STD npm run build --prefix /opt/browserless
|
$STD npm run build --prefix /opt/browserless
|
||||||
$STD npm run build:function --prefix /opt/browserless
|
|
||||||
$STD npm prune production --prefix /opt/browserless
|
$STD npm prune production --prefix /opt/browserless
|
||||||
msg_ok "Installed Browserless & Playwright"
|
msg_ok "Installed Browserless & Playwright"
|
||||||
|
|
||||||
@@ -125,8 +122,8 @@ Wants=browserless.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/changedetection
|
WorkingDirectory=/opt/changedetection
|
||||||
Environment=WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub
|
Environment="WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub"
|
||||||
Environment=PLAYWRIGHT_DRIVER_URL=ws://localhost:3000/chrome?launch={"defaultViewport":{"height":720,"width":1280},"headless":false,"stealth":true}&blockAds=true
|
Environment="PLAYWRIGHT_DRIVER_URL=ws://127.0.0.1:3000/?stealth=1&--disable-web-security=true"
|
||||||
ExecStart=changedetection.io -d /opt/changedetection -p 5000
|
ExecStart=changedetection.io -d /opt/changedetection -p 5000
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
@@ -137,8 +134,16 @@ cat <<EOF >/etc/systemd/system/browserless.service
|
|||||||
Description=browserless service
|
Description=browserless service
|
||||||
After=network.target
|
After=network.target
|
||||||
[Service]
|
[Service]
|
||||||
|
Environment=APP_DIR=/opt/browserless
|
||||||
|
Environment=PLAYWRIGHT_BROWSERS_PATH=/opt/browserless
|
||||||
|
Environment=CONNECTION_TIMEOUT=60000
|
||||||
|
Environment=HOST=127.0.0.1
|
||||||
|
Environment=LANG="C.UTF-8"
|
||||||
|
Environment=NODE_ENV=production
|
||||||
|
Environment=PORT=3000
|
||||||
|
Environment=WORKSPACE_DIR=/opt/browserless/workspace
|
||||||
WorkingDirectory=/opt/browserless
|
WorkingDirectory=/opt/browserless
|
||||||
ExecStart=/opt/browserless/scripts/start.sh
|
ExecStart=/opt/browserless/start.sh
|
||||||
SyslogIdentifier=browserless
|
SyslogIdentifier=browserless
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=default.target
|
WantedBy=default.target
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
|
||||||
# Author: tteck
|
|
||||||
# Co-Author: havardthom
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/cockpit-project/cockpit
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y curl
|
|
||||||
$STD apt-get install -y sudo
|
|
||||||
$STD apt-get install -y mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Cockpit"
|
|
||||||
source /etc/os-release
|
|
||||||
echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" >/etc/apt/sources.list.d/backports.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -t ${VERSION_CODENAME}-backports cockpit --no-install-recommends -y
|
|
||||||
sed -i "s/root//g" /etc/cockpit/disallowed-users
|
|
||||||
msg_ok "Installed Cockpit"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -17,7 +17,6 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y curl
|
$STD apt-get install -y curl
|
||||||
$STD apt-get install -y sudo
|
$STD apt-get install -y sudo
|
||||||
$STD apt-get install -y mc
|
$STD apt-get install -y mc
|
||||||
$STD apt-get install -y rsync
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Azul Zulu"
|
msg_info "Installing Azul Zulu"
|
||||||
@@ -28,14 +27,11 @@ $STD apt-get update
|
|||||||
$STD apt-get -y install zulu17-jdk
|
$STD apt-get -y install zulu17-jdk
|
||||||
msg_ok "Installed Azul Zulu"
|
msg_ok "Installed Azul Zulu"
|
||||||
|
|
||||||
RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
msg_info "Installing CommaFeed"
|
||||||
msg_info "Installing CommaFeed ${RELEASE}"
|
mkdir /opt/commafeed && cd /opt/commafeed
|
||||||
mkdir /opt/commafeed
|
wget -q https://github.com/Athou/commafeed/releases/latest/download/commafeed.jar
|
||||||
wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
|
wget -q https://github.com/Athou/commafeed/releases/latest/download/config.yml.example -O config.yml
|
||||||
unzip -q commafeed-${RELEASE}-h2-jvm.zip
|
msg_ok "Installed CommaFeed"
|
||||||
mv commafeed-${RELEASE}-h2/* /opt/commafeed/
|
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
||||||
msg_ok "Installed CommaFeed ${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/commafeed.service
|
cat <<EOF >/etc/systemd/system/commafeed.service
|
||||||
@@ -44,7 +40,7 @@ Description=CommaFeed Service
|
|||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=java -jar quarkus-run.jar
|
ExecStart=/usr/bin/java -Djava.net.preferIPv4Stack=true -jar /opt/commafeed/commafeed.jar server /opt/commafeed/config.yml
|
||||||
WorkingDirectory=/opt/commafeed/
|
WorkingDirectory=/opt/commafeed/
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|
||||||
@@ -58,7 +54,7 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip zulu-repo_1.0.0-3_all.deb
|
rm -rf zulu-repo_1.0.0-3_all.deb
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -17,27 +17,30 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y curl
|
$STD apt-get install -y curl
|
||||||
$STD apt-get install -y sudo
|
$STD apt-get install -y sudo
|
||||||
$STD apt-get install -y mc
|
$STD apt-get install -y mc
|
||||||
$STD apt-get install -y gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
msg_info "Installing Node.js (Patience)"
|
||||||
mkdir -p /etc/apt/keyrings
|
$STD apt-get install -y npm
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
$STD npm cache clean -f
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
$STD npm install -g n
|
||||||
msg_ok "Set up Node.js Repository"
|
$STD n 16.20.1
|
||||||
|
$STD npm install -g pnpm
|
||||||
msg_info "Installing Node.js"
|
ln -sf /usr/local/bin/node /usr/bin/node
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
msg_ok "Installed Node.js"
|
||||||
|
|
||||||
|
msg_info "Installing Yarn"
|
||||||
|
$STD npm install -g yarn
|
||||||
|
ln -sf /usr/local/bin/yarn /usr/bin/yarn
|
||||||
|
msg_ok "Installed Yarn"
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -s https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
msg_info "Installing Dashy ${RELEASE} (Patience)"
|
msg_info "Installing Dashy ${RELEASE} (Patience)"
|
||||||
mkdir -p /opt/dashy
|
mkdir -p /opt/dashy
|
||||||
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
|
wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
|
||||||
cd /opt/dashy
|
cd /opt/dashy
|
||||||
$STD npm install
|
sed -i 's/NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build/NODE_OPTIONS=yarn vue-cli-service build/' /opt/dashy/package.json
|
||||||
$STD npm run build
|
$STD yarn
|
||||||
|
$STD yarn build
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
msg_ok "Installed Dashy ${RELEASE}"
|
msg_ok "Installed Dashy ${RELEASE}"
|
||||||
|
|
||||||
@@ -49,7 +52,7 @@ Description=dashy
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/dashy
|
WorkingDirectory=/opt/dashy
|
||||||
ExecStart=/usr/bin/npm start
|
ExecStart=/usr/bin/yarn start
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@@ -58,6 +58,6 @@ customize
|
|||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf $libssl
|
rm -rf $libssl
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ $STD apt-get install -y \
|
|||||||
python3 \
|
python3 \
|
||||||
python3-dev \
|
python3-dev \
|
||||||
python3-pip
|
python3-pip
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
msg_ok "Updated Python3"
|
msg_ok "Updated Python3"
|
||||||
|
|
||||||
msg_info "Installing Deluge"
|
msg_info "Installing Deluge"
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
rm emby-server-deb_${LATEST}_amd64.deb
|
rm emby-server-deb_${LATEST}_amd64.deb
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -15,37 +15,21 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y curl
|
$STD apt-get install -y --no-install-recommends \
|
||||||
$STD apt-get install -y sudo
|
ffmpeg \
|
||||||
$STD apt-get install -y mc
|
build-essential \
|
||||||
|
unzip \
|
||||||
|
pkg-config \
|
||||||
|
curl \
|
||||||
|
sudo \
|
||||||
|
git \
|
||||||
|
make \
|
||||||
|
mc
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing FFmpeg (Patience)"
|
|
||||||
wget -q https://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
|
|
||||||
$STD dpkg -i deb-multimedia-keyring_2016.8.1_all.deb
|
|
||||||
cat <<EOF >/etc/apt/sources.list.d/backports.list
|
|
||||||
deb https://www.deb-multimedia.org bookworm main non-free
|
|
||||||
deb https://www.deb-multimedia.org bookworm-backports main
|
|
||||||
EOF
|
|
||||||
$STD apt update
|
|
||||||
DEBIAN_FRONTEND=noninteractive $STD apt-get install -t bookworm-backports ffmpeg -y
|
|
||||||
rm -rf /etc/apt/sources.list.d/backports.list deb-multimedia-keyring_2016.8.1_all.deb
|
|
||||||
$STD apt update
|
|
||||||
msg_ok "Installed FFmpeg"
|
|
||||||
|
|
||||||
msg_info "Setting Up Hardware Acceleration"
|
msg_info "Installing ErsatzTV "
|
||||||
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
|
|
||||||
if [[ "$CTTYPE" == "0" ]]; then
|
|
||||||
chgrp video /dev/dri
|
|
||||||
chmod 755 /dev/dri
|
|
||||||
chmod 660 /dev/dri/*
|
|
||||||
$STD adduser $(id -u -n) video
|
|
||||||
$STD adduser $(id -u -n) render
|
|
||||||
fi
|
|
||||||
msg_ok "Set Up Hardware Acceleration"
|
|
||||||
|
|
||||||
msg_info "Installing ErsatzTV"
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
||||||
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
|
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
|
||||||
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ $STD apt-get install -y \
|
|||||||
python3-dev \
|
python3-dev \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
python3-venv
|
python3-venv
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
msg_ok "Updated Python3"
|
msg_ok "Updated Python3"
|
||||||
|
|
||||||
msg_info "Installing ESPHome"
|
msg_info "Installing ESPHome"
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# 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/evcc-io/evcc
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
mc \
|
|
||||||
lsb-release \
|
|
||||||
gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up evcc Repository"
|
|
||||||
curl -fsSL https://dl.evcc.io/public/evcc/stable/gpg.EAD5D0E07B0EC0FD.key | gpg --dearmor -o /etc/apt/keyrings/evcc-stable.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/evcc-stable.gpg] https://dl.evcc.io/public/evcc/stable/deb/debian $(lsb_release -cs) main" >/etc/apt/sources.list.d/evcc-stable.list
|
|
||||||
$STD apt update
|
|
||||||
msg_ok "evcc Repository setup sucessfully"
|
|
||||||
|
|
||||||
msg_info "Installing evcc"
|
|
||||||
$STD apt install -y evcc
|
|
||||||
systemctl enable -q --now evcc.service
|
|
||||||
msg_ok "Installed evcc"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
|
||||||
# Author: tteck (tteckster)
|
|
||||||
# Co-Author: remz1337
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y curl
|
|
||||||
$STD apt-get install -y sudo
|
|
||||||
$STD apt-get install -y mc
|
|
||||||
$STD apt-get install -y apt-transport-https
|
|
||||||
$STD apt-get install -y gpg
|
|
||||||
$STD apt-get install -y xvfb
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Chrome"
|
|
||||||
wget -qO- https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
|
|
||||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
|
|
||||||
$STD apt update
|
|
||||||
$STD apt install -y google-chrome-stable
|
|
||||||
msg_ok "Installed Chrome"
|
|
||||||
|
|
||||||
msg_info "Installing FlareSolverr"
|
|
||||||
RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
|
|
||||||
$STD wget -q https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz
|
|
||||||
$STD tar -xzf flaresolverr_linux_x64.tar.gz -C /opt
|
|
||||||
$STD rm flaresolverr_linux_x64.tar.gz
|
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
||||||
msg_ok "Installed FlareSolverr"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/flaresolverr.service
|
|
||||||
[Unit]
|
|
||||||
Description=FlareSolverr
|
|
||||||
After=network.target
|
|
||||||
[Service]
|
|
||||||
SyslogIdentifier=flaresolverr
|
|
||||||
Restart=always
|
|
||||||
RestartSec=5
|
|
||||||
Type=simple
|
|
||||||
Environment="LOG_LEVEL=info"
|
|
||||||
Environment="CAPTCHA_SOLVER=none"
|
|
||||||
WorkingDirectory=/opt/flaresolverr
|
|
||||||
ExecStart=/opt/flaresolverr/flaresolverr
|
|
||||||
TimeoutStopSec=30
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now flaresolverr.service
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -57,7 +57,7 @@ Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/forgejo
|
|||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now forgejo
|
$STD systemctl enable -q --now forgejo
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
# Copyright (c) 2021-2024 tteck
|
||||||
# Author: tteck (tteckster)
|
# Authors: tteck (tteckster)
|
||||||
# Co-Author: remz1337
|
|
||||||
# License: MIT
|
# License: MIT
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||||
|
|
||||||
@@ -15,12 +14,11 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y {curl,sudo,mc,git,gpg,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils}
|
$STD apt-get install -y {curl,sudo,mc,git,gpg,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq}
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Python3 Dependencies"
|
msg_info "Installing Python3 Dependencies"
|
||||||
$STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutils,python3-pip}
|
$STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutils,python3-pip}
|
||||||
$STD pip install --upgrade pip
|
|
||||||
msg_ok "Installed Python3 Dependencies"
|
msg_ok "Installed Python3 Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
msg_info "Installing Node.js"
|
||||||
@@ -47,7 +45,6 @@ if [[ "$CTTYPE" == "0" ]]; then
|
|||||||
chmod 660 /dev/dri/*
|
chmod 660 /dev/dri/*
|
||||||
fi
|
fi
|
||||||
msg_ok "Set Up Hardware Acceleration"
|
msg_ok "Set Up Hardware Acceleration"
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/blakeblackshear/frigate/releases/latest | jq -r '.tag_name')
|
RELEASE=$(curl -s https://api.github.com/repos/blakeblackshear/frigate/releases/latest | jq -r '.tag_name')
|
||||||
msg_ok "Stop spinner to prevent segmentation fault"
|
msg_ok "Stop spinner to prevent segmentation fault"
|
||||||
msg_info "Installing Frigate $RELEASE (Perseverance)"
|
msg_info "Installing Frigate $RELEASE (Perseverance)"
|
||||||
@@ -63,7 +60,6 @@ cp -a /opt/frigate/docker/main/rootfs/. /
|
|||||||
export TARGETARCH="amd64"
|
export TARGETARCH="amd64"
|
||||||
echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections
|
echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections
|
||||||
$STD /opt/frigate/docker/main/install_deps.sh
|
$STD /opt/frigate/docker/main/install_deps.sh
|
||||||
$STD apt update
|
|
||||||
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
|
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||||
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
$STD ln -svf /usr/lib/btbn-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||||
$STD pip3 install -U /wheels/*.whl
|
$STD pip3 install -U /wheels/*.whl
|
||||||
@@ -120,7 +116,7 @@ if grep -q -o -m1 'avx[^ ]*' /proc/cpuinfo; then
|
|||||||
detectors:
|
detectors:
|
||||||
ov:
|
ov:
|
||||||
type: openvino
|
type: openvino
|
||||||
device: CPU
|
device: AUTO
|
||||||
model:
|
model:
|
||||||
path: /openvino-model/FP16/ssdlite_mobilenet_v2.xml
|
path: /openvino-model/FP16/ssdlite_mobilenet_v2.xml
|
||||||
model:
|
model:
|
||||||
@@ -159,10 +155,7 @@ cd /
|
|||||||
wget -qO edgetpu_model.tflite https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess_edgetpu.tflite
|
wget -qO edgetpu_model.tflite https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess_edgetpu.tflite
|
||||||
wget -qO cpu_model.tflite https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess.tflite
|
wget -qO cpu_model.tflite https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess.tflite
|
||||||
cp /opt/frigate/labelmap.txt /labelmap.txt
|
cp /opt/frigate/labelmap.txt /labelmap.txt
|
||||||
wget -qO yamnet-tflite-classification-tflite-v1.tar.gz https://www.kaggle.com/api/v1/models/google/yamnet/tfLite/classification-tflite/1/download
|
wget -qO cpu_audio_model.tflite https://tfhub.dev/google/lite-model/yamnet/classification/tflite/1?lite-format=tflite
|
||||||
tar xzf yamnet-tflite-classification-tflite-v1.tar.gz
|
|
||||||
rm -rf yamnet-tflite-classification-tflite-v1.tar.gz
|
|
||||||
mv 1.tflite cpu_audio_model.tflite
|
|
||||||
cp /opt/frigate/audio-labelmap.txt /audio-labelmap.txt
|
cp /opt/frigate/audio-labelmap.txt /audio-labelmap.txt
|
||||||
mkdir -p /media/frigate
|
mkdir -p /media/frigate
|
||||||
wget -qO /media/frigate/person-bicycle-car-detection.mp4 https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4
|
wget -qO /media/frigate/person-bicycle-car-detection.mp4 https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4
|
||||||
@@ -170,16 +163,11 @@ msg_ok "Installed Coral Object Detection Model"
|
|||||||
|
|
||||||
msg_info "Building Nginx with Custom Modules"
|
msg_info "Building Nginx with Custom Modules"
|
||||||
$STD /opt/frigate/docker/main/build_nginx.sh
|
$STD /opt/frigate/docker/main/build_nginx.sh
|
||||||
sed -e '/s6-notifyoncheck/ s/^#*/#/' -i /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run
|
sed -i 's/exec nginx/exec \/usr\/local\/nginx\/sbin\/nginx/g' /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run
|
||||||
ln -sf /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
|
sed -i 's/error_log \/dev\/stdout warn\;/error_log \/dev\/shm\/logs\/nginx\/current warn\;/' /usr/local/nginx/conf/nginx.conf
|
||||||
|
sed -i 's/access_log \/dev\/stdout main\;/access_log \/dev\/shm\/logs\/nginx\/current main\;/' /usr/local/nginx/conf/nginx.conf
|
||||||
msg_ok "Built Nginx"
|
msg_ok "Built Nginx"
|
||||||
|
|
||||||
msg_info "Installing Tempio"
|
|
||||||
sed -i 's|/rootfs/usr/local|/usr/local|g' /opt/frigate/docker/main/install_tempio.sh
|
|
||||||
$STD /opt/frigate/docker/main/install_tempio.sh
|
|
||||||
ln -sf /usr/local/tempio/bin/tempio /usr/local/bin/tempio
|
|
||||||
msg_ok "Installed Tempio"
|
|
||||||
|
|
||||||
msg_info "Creating Services"
|
msg_info "Creating Services"
|
||||||
cat <<EOF >/etc/systemd/system/create_directories.service
|
cat <<EOF >/etc/systemd/system/create_directories.service
|
||||||
[Unit]
|
[Unit]
|
||||||
@@ -207,7 +195,7 @@ Restart=always
|
|||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
ExecStartPre=+rm /dev/shm/logs/go2rtc/current
|
ExecStartPre=+rm /dev/shm/logs/go2rtc/current
|
||||||
ExecStart=/bin/bash -c "bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/go2rtc/run 2> >(/usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S ' >&2) | /usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S '"
|
ExecStart=bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/go2rtc/run
|
||||||
StandardOutput=file:/dev/shm/logs/go2rtc/current
|
StandardOutput=file:/dev/shm/logs/go2rtc/current
|
||||||
StandardError=file:/dev/shm/logs/go2rtc/current
|
StandardError=file:/dev/shm/logs/go2rtc/current
|
||||||
|
|
||||||
@@ -228,9 +216,8 @@ Type=simple
|
|||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
# Environment=PLUS_API_KEY=
|
|
||||||
ExecStartPre=+rm /dev/shm/logs/frigate/current
|
ExecStartPre=+rm /dev/shm/logs/frigate/current
|
||||||
ExecStart=/bin/bash -c "bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/run 2> >(/usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S ' >&2) | /usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S '"
|
ExecStart=bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/frigate/run
|
||||||
StandardOutput=file:/dev/shm/logs/frigate/current
|
StandardOutput=file:/dev/shm/logs/frigate/current
|
||||||
StandardError=file:/dev/shm/logs/frigate/current
|
StandardError=file:/dev/shm/logs/frigate/current
|
||||||
|
|
||||||
@@ -252,7 +239,7 @@ Restart=always
|
|||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
ExecStartPre=+rm /dev/shm/logs/nginx/current
|
ExecStartPre=+rm /dev/shm/logs/nginx/current
|
||||||
ExecStart=/bin/bash -c "bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run 2> >(/usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S ' >&2) | /usr/bin/ts '%%Y-%%m-%%d %%H:%%M:%%.S '"
|
ExecStart=bash /opt/frigate/docker/main/rootfs/etc/s6-overlay/s6-rc.d/nginx/run
|
||||||
StandardOutput=file:/dev/shm/logs/nginx/current
|
StandardOutput=file:/dev/shm/logs/nginx/current
|
||||||
StandardError=file:/dev/shm/logs/nginx/current
|
StandardError=file:/dev/shm/logs/nginx/current
|
||||||
|
|
||||||
|
|||||||
@@ -1,79 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
|
||||||
# Author: tteck (tteckster)
|
|
||||||
# Co-author: Rogue-King
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y git
|
|
||||||
$STD apt-get install -y curl
|
|
||||||
$STD apt-get install -y sudo
|
|
||||||
$STD apt-get install -y mc
|
|
||||||
$STD apt-get install -y sqlite3
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Gitea"
|
|
||||||
RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
|
|
||||||
wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
|
|
||||||
mv gitea* /usr/local/bin/gitea
|
|
||||||
chmod +x /usr/local/bin/gitea
|
|
||||||
adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea > /dev/null
|
|
||||||
mkdir -p /var/lib/gitea/{custom,data,log}
|
|
||||||
chown -R gitea:gitea /var/lib/gitea/
|
|
||||||
chmod -R 750 /var/lib/gitea/
|
|
||||||
chown root:gitea /etc/gitea
|
|
||||||
chmod 770 /etc/gitea
|
|
||||||
sudo -u gitea ln -s /var/lib/gitea/data/.ssh/ /etc/gitea/.ssh
|
|
||||||
msg_ok "Installed Gitea"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/gitea.service
|
|
||||||
[Unit]
|
|
||||||
Description=Gitea (Git with a cup of tea)
|
|
||||||
After=syslog.target
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
# Uncomment notify and watchdog if you want to use them
|
|
||||||
# Uncomment the next line if you have repos with lots of files and get a HTTP 500 error because of that
|
|
||||||
# LimitNOFILE=524288:524288
|
|
||||||
RestartSec=2s
|
|
||||||
Type=simple
|
|
||||||
#Type=notify
|
|
||||||
User=gitea
|
|
||||||
Group=gitea
|
|
||||||
#The mount point we added to the container
|
|
||||||
WorkingDirectory=/var/lib/gitea
|
|
||||||
#Create directory in /run
|
|
||||||
RuntimeDirectory=gitea
|
|
||||||
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
|
|
||||||
Restart=always
|
|
||||||
Environment=USER=gitea HOME=/var/lib/gitea/data GITEA_WORK_DIR=/var/lib/gitea
|
|
||||||
#WatchdogSec=30s
|
|
||||||
#Capabilities to bind to low-numbered ports
|
|
||||||
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
|
||||||
#AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now gitea
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -27,10 +27,7 @@ wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-li
|
|||||||
$STD unzip gotify-linux-amd64.zip
|
$STD unzip gotify-linux-amd64.zip
|
||||||
rm -rf gotify-linux-amd64.zip
|
rm -rf gotify-linux-amd64.zip
|
||||||
chmod +x gotify-linux-amd64
|
chmod +x gotify-linux-amd64
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
||||||
msg_ok "Installed Gotify"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/gotify.service
|
cat <<EOF >/etc/systemd/system/gotify.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Gotify
|
Description=Gotify
|
||||||
@@ -49,7 +46,7 @@ RestartSec=3
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now gotify
|
systemctl enable -q --now gotify
|
||||||
msg_ok "Created Service"
|
msg_ok "Installed Gotify"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
rm -rf /root/grocy_${latest}.zip
|
rm -rf /root/grocy_${latest}.zip
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -48,6 +48,6 @@ customize
|
|||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf hivemq-ce-${RELEASE}.zip
|
rm -rf hivemq-ce-${RELEASE}.zip
|
||||||
rm -rf ../hivemq-ce-${RELEASE}
|
rm -rf ../hivemq-ce-${RELEASE}
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -14,24 +14,21 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y git curl sudo mc bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libturbojpeg0-dev ffmpeg liblapack3 liblapack-dev dbus-broker libpcap-dev libavdevice-dev libavformat-dev libavcodec-dev libavutil-dev libavfilter-dev libmariadb-dev-compat libatlas-base-dev pip python3.12-dev
|
$STD apt-get install -y {git,curl,sudo,mc,bluez,libffi-dev,libssl-dev,libjpeg-dev,zlib1g-dev,autoconf,build-essential,libopenjp2-7,libturbojpeg0-dev,ffmpeg,liblapack3,liblapack-dev,dbus-broker,libpcap-dev,libavdevice-dev,libavformat-dev,libavcodec-dev,libavutil-dev,libavfilter-dev,libmariadb-dev-compat,libatlas-base-dev,python3-pip,python3.12-venv}
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing UV"
|
msg_info "Installing Home Assistant-Core"
|
||||||
$STD pip install uv
|
|
||||||
msg_ok "Installed UV"
|
|
||||||
|
|
||||||
msg_info "Setting up Home Assistant-Core environment"
|
|
||||||
mkdir /srv/homeassistant
|
mkdir /srv/homeassistant
|
||||||
cd /srv/homeassistant
|
cd /srv/homeassistant
|
||||||
uv venv . &>/dev/null
|
python3 -m venv .
|
||||||
source bin/activate
|
source bin/activate
|
||||||
msg_ok "Created virtual environment with UV"
|
$STD pip install webrtcvad
|
||||||
|
$STD python3 -m pip install wheel
|
||||||
msg_info "Installing Home Assistant-Core and packages"
|
$STD pip install homeassistant
|
||||||
$STD uv pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
|
$STD pip install mysqlclient
|
||||||
|
$STD pip install psycopg2-binary
|
||||||
mkdir -p /root/.homeassistant
|
mkdir -p /root/.homeassistant
|
||||||
msg_ok "Installed Home Assistant-Core and required packages"
|
msg_ok "Installed Home Assistant-Core"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/homeassistant.service
|
cat <<EOF >/etc/systemd/system/homeassistant.service
|
||||||
@@ -41,8 +38,7 @@ After=network-online.target
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/root/.homeassistant
|
WorkingDirectory=/root/.homeassistant
|
||||||
Environment="PATH=/srv/homeassistant/bin:/usr/local/bin:/usr/bin:/usr/local/bin/uv"
|
ExecStart=/srv/homeassistant/bin/hass -c "/root/.homeassistant"
|
||||||
ExecStart=/srv/homeassistant/bin/python3 -m homeassistant --config /root/.homeassistant
|
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartForceExitStatus=100
|
RestartForceExitStatus=100
|
||||||
[Install]
|
[Install]
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ $STD apt-get install -y \
|
|||||||
python3-dev \
|
python3-dev \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
python3-venv
|
python3-venv
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
msg_ok "Updated Python3"
|
msg_ok "Updated Python3"
|
||||||
|
|
||||||
msg_info "Installing runlike"
|
msg_info "Installing runlike"
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# 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/sysadminsmedia/homebox
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Homebox"
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
|
||||||
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/${APPLICATION}_version.txt"
|
|
||||||
msg_ok "Installed Homebox"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/homebox.service
|
|
||||||
[Unit]
|
|
||||||
Description=Start Homebox Service
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
WorkingDirectory=/opt
|
|
||||||
ExecStart=/opt/homebox
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now homebox.service
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
@@ -36,7 +36,6 @@ RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/lat
|
|||||||
msg_info "Installing Homepage v${RELEASE} (Patience)"
|
msg_info "Installing Homepage v${RELEASE} (Patience)"
|
||||||
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
|
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
|
||||||
$STD tar -xzf v${RELEASE}.tar.gz
|
$STD tar -xzf v${RELEASE}.tar.gz
|
||||||
rm -rf v${RELEASE}.tar.gz
|
|
||||||
mkdir -p /opt/homepage/config
|
mkdir -p /opt/homepage/config
|
||||||
mv homepage-${RELEASE}/* /opt/homepage
|
mv homepage-${RELEASE}/* /opt/homepage
|
||||||
rm -rf homepage-${RELEASE}
|
rm -rf homepage-${RELEASE}
|
||||||
|
|||||||
@@ -23,8 +23,9 @@ $STD apt-get install -y gnupg2
|
|||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up InfluxDB Repository"
|
msg_info "Setting up InfluxDB Repository"
|
||||||
wget -qO- https://repos.influxdata.com/influxdata-archive_compat.key | gpg --dearmor > /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg
|
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
|
||||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main" > /etc/apt/sources.list.d/influxdata.list
|
cat influxdata-archive_compat.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
|
||||||
|
sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main" > /etc/apt/sources.list.d/influxdata.list'
|
||||||
msg_ok "Set up InfluxDB Repository"
|
msg_ok "Set up InfluxDB Repository"
|
||||||
|
|
||||||
read -r -p "Which version of InfluxDB to install? (1 or 2) " prompt
|
read -r -p "Which version of InfluxDB to install? (1 or 2) " prompt
|
||||||
|
|||||||
@@ -31,18 +31,18 @@ msg_ok "Installed iVentoy"
|
|||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/iventoy.service
|
cat <<EOF >/etc/systemd/system/iventoy.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=iVentoy PXE Booter
|
Description =iVentoy PXE Booter
|
||||||
Documentation=https://www.iventoy.com
|
Documentation =https://www.iventoy.com
|
||||||
Wants=network-online.target
|
Wants =network-online.target
|
||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type =forking
|
||||||
Environment=IVENTOY_API_ALL=1
|
Environment =IVENTOY_API_ALL=1
|
||||||
Environment=IVENTOY_AUTO_RUN=1
|
Environment =IVENTOY_AUTO_RUN=1
|
||||||
Environment=LIBRARY_PATH=/opt/iventoy/lib/lin64
|
Environment =LIBRARY_PATH=/opt/iventoy/lib/lin64
|
||||||
Environment=LD_LIBRARY_PATH=/opt/iventoy/lib/lin64
|
Environment =LD_LIBRARY_PATH=/opt/iventoy/lib/lin64
|
||||||
ExecStart=sh ./iventoy.sh -R start
|
ExecStart =sh ./iventoy.sh -R start
|
||||||
WorkingDirectory=/opt/iventoy
|
WorkingDirectory =/opt/iventoy
|
||||||
Restart=on-failure
|
Restart =on-failure
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep
|
|||||||
wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
|
wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||||
tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
|
tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
|
||||||
rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
|
rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
||||||
msg_ok "Installed Jackett"
|
msg_ok "Installed Jackett"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user