mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-23 22:15:16 +00:00
Compare commits
1 Commits
MickLesk-p
...
ct_cleanup
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6e53dea01 |
45
CHANGELOG.md
45
CHANGELOG.md
@@ -10,53 +10,8 @@
|
|||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||||
|
|
||||||
## 2025-11-23
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- [LibreNMS] Correcting mariadb sed string for Debian 13 default in install/librenms-install.sh, website config for Debian 13 #9369 [@htmlspinnr](https://github.com/htmlspinnr) ([#9370](https://github.com/community-scripts/ProxmoxVE/pull/9370))
|
|
||||||
- fix: Snipe-IT update check failure [@ruanmed](https://github.com/ruanmed) ([#9371](https://github.com/community-scripts/ProxmoxVE/pull/9371))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- PVE Kernel Clean: Add info about currently running kernel [@tremor021](https://github.com/tremor021) ([#9388](https://github.com/community-scripts/ProxmoxVE/pull/9388))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Update glpi-install.sh to remove install.php [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9378](https://github.com/community-scripts/ProxmoxVE/pull/9378))
|
|
||||||
|
|
||||||
### 🌐 Website
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- fix: enhance back navigation in NotFoundPage component and remove unused deps [@BramSuurdje](https://github.com/BramSuurdje) ([#9341](https://github.com/community-scripts/ProxmoxVE/pull/9341))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- feat(frontend): add script disable functionality with visual indicators [@AlphaLawless](https://github.com/AlphaLawless) ([#9374](https://github.com/community-scripts/ProxmoxVE/pull/9374))
|
|
||||||
|
|
||||||
## 2025-11-22
|
## 2025-11-22
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Upgopher ([#9360](https://github.com/community-scripts/ProxmoxVE/pull/9360))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- Expand support to Proxmox VE 9.1 in VM scripts [@MickLesk](https://github.com/MickLesk) ([#9351](https://github.com/community-scripts/ProxmoxVE/pull/9351))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- fix: Snipe-IT install and update failure due to new repository url [@ruanmed](https://github.com/ruanmed) ([#9362](https://github.com/community-scripts/ProxmoxVE/pull/9362))
|
|
||||||
- glpi - allow migration of existing databases [@moodyblue](https://github.com/moodyblue) ([#9353](https://github.com/community-scripts/ProxmoxVE/pull/9353))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Refactor cleanup steps to use cleanup_lxc function (install/ Folder) [@MickLesk](https://github.com/MickLesk) ([#9354](https://github.com/community-scripts/ProxmoxVE/pull/9354))
|
|
||||||
- Remove redundant cleanup steps from update scripts (ct/ Folder) [@MickLesk](https://github.com/MickLesk) ([#9359](https://github.com/community-scripts/ProxmoxVE/pull/9359))
|
|
||||||
|
|
||||||
### 🌐 Website
|
### 🌐 Website
|
||||||
|
|
||||||
- #### ✨ New Features
|
- #### ✨ New Features
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
__ __ __
|
|
||||||
/ / / /___ ____ _____ ____ / /_ ___ _____
|
|
||||||
/ / / / __ \/ __ `/ __ \/ __ \/ __ \/ _ \/ ___/
|
|
||||||
/ /_/ / /_/ / /_/ / /_/ / /_/ / / / / __/ /
|
|
||||||
\____/ .___/\__, /\____/ .___/_/ /_/\___/_/
|
|
||||||
/_/ /____/ /_/
|
|
||||||
@@ -31,7 +31,7 @@ function update_script() {
|
|||||||
sed -i '/index index.php;/i \ client_max_body_size 100M;' /etc/nginx/conf.d/snipeit.conf
|
sed -i '/index index.php;/i \ client_max_body_size 100M;' /etc/nginx/conf.d/snipeit.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if check_for_gh_release "snipe-it" "grokability/snipe-it"; then
|
if check_for_gh_release "snipe-it" "snipe/snipe-it"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop nginx
|
systemctl stop nginx
|
||||||
msg_ok "Services Stopped"
|
msg_ok "Services Stopped"
|
||||||
@@ -40,7 +40,7 @@ function update_script() {
|
|||||||
mv /opt/snipe-it /opt/snipe-it-backup
|
mv /opt/snipe-it /opt/snipe-it-backup
|
||||||
msg_ok "Backup created"
|
msg_ok "Backup created"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "snipe-it" "grokability/snipe-it" "tarball"
|
fetch_and_deploy_gh_release "snipe-it" "snipe/snipe-it" "tarball"
|
||||||
[[ "$(php -v 2>/dev/null)" == PHP\ 8.2* ]] && PHP_VERSION="8.3" PHP_MODULE="common,ctype,ldap,fileinfo,iconv,mysql,soap,xsl" PHP_FPM="YES" setup_php
|
[[ "$(php -v 2>/dev/null)" == PHP\ 8.2* ]] && PHP_VERSION="8.3" PHP_MODULE="common,ctype,ldap,fileinfo,iconv,mysql,soap,xsl" PHP_FPM="YES" setup_php
|
||||||
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/snipeit.conf
|
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/snipeit.conf
|
||||||
setup_composer
|
setup_composer
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
|
||||||
# Author: Eduard González (wanetty)
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/wanetty/upgopher
|
|
||||||
|
|
||||||
APP="Upgopher"
|
|
||||||
var_tags="${var_tags:-file-sharing}"
|
|
||||||
var_cpu="${var_cpu:-1}"
|
|
||||||
var_ram="${var_ram:-512}"
|
|
||||||
var_disk="${var_disk:-4}"
|
|
||||||
var_os="${var_os:-debian}"
|
|
||||||
var_version="${var_version:-13}"
|
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
|
||||||
|
|
||||||
header_info "$APP"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
if [[ ! -d /opt/upgopher ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_for_gh_release "upgopher" "wanetty/upgopher"; then
|
|
||||||
msg_info "Stopping Service"
|
|
||||||
systemctl stop upgopher
|
|
||||||
msg_ok "Stopped Service"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "upgopher" "wanetty/upgopher" "prebuild" "latest" "/opt/upgopher" "upgopher_*_linux_amd64.tar.gz"
|
|
||||||
chmod +x /opt/upgopher/upgopher
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
|
||||||
systemctl start upgopher
|
|
||||||
msg_ok "Started Service"
|
|
||||||
msg_ok "Updated successfully!"
|
|
||||||
fi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9090${CL}"
|
|
||||||
850
frontend/bun.lock
generated
850
frontend/bun.lock
generated
File diff suppressed because it is too large
Load Diff
6
frontend/package.json
generated
6
frontend/package.json
generated
@@ -37,7 +37,6 @@
|
|||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cmdk": "^1.1.1",
|
"cmdk": "^1.1.1",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
|
|
||||||
"framer-motion": "^11.18.2",
|
"framer-motion": "^11.18.2",
|
||||||
"fuse.js": "^7.1.0",
|
"fuse.js": "^7.1.0",
|
||||||
"lucide-react": "^0.554.0",
|
"lucide-react": "^0.554.0",
|
||||||
@@ -46,15 +45,20 @@
|
|||||||
"next": "15.5.2",
|
"next": "15.5.2",
|
||||||
"next-themes": "^0.4.4",
|
"next-themes": "^0.4.4",
|
||||||
"nuqs": "^2.4.1",
|
"nuqs": "^2.4.1",
|
||||||
|
"pocketbase": "^0.21.5",
|
||||||
"prettier-plugin-organize-imports": "^4.1.0",
|
"prettier-plugin-organize-imports": "^4.1.0",
|
||||||
"react": "19.0.0",
|
"react": "19.0.0",
|
||||||
"react-chartjs-2": "^5.3.0",
|
"react-chartjs-2": "^5.3.0",
|
||||||
|
"react-code-blocks": "^0.1.6",
|
||||||
|
"react-datepicker": "^7.6.0",
|
||||||
"react-day-picker": "^9.4.3",
|
"react-day-picker": "^9.4.3",
|
||||||
"react-dom": "19.0.0",
|
"react-dom": "19.0.0",
|
||||||
"react-icons": "^5.5.0",
|
"react-icons": "^5.5.0",
|
||||||
|
"react-simple-typewriter": "^5.0.1",
|
||||||
"react-use-measure": "^2.1.7",
|
"react-use-measure": "^2.1.7",
|
||||||
"recharts": "2.15.4",
|
"recharts": "2.15.4",
|
||||||
"sharp": "^0.33.5",
|
"sharp": "^0.33.5",
|
||||||
|
"simple-icons": "^13.21.0",
|
||||||
"sonner": "^1.7.4",
|
"sonner": "^1.7.4",
|
||||||
"tailwind-merge": "^2.6.0",
|
"tailwind-merge": "^2.6.0",
|
||||||
"zod": "^3.24.2"
|
"zod": "^3.24.2"
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "Debian",
|
"os": "Debian",
|
||||||
"version": "13"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "OPNsense",
|
|
||||||
"slug": "opnsense-vm",
|
|
||||||
"categories": [
|
|
||||||
4,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
"date_created": "2025-11-23",
|
|
||||||
"type": "vm",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 443,
|
|
||||||
"documentation": "https://docs.opnsense.org/",
|
|
||||||
"website": "https://opnsense.org/",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/opnsense.webp",
|
|
||||||
"config_path": "",
|
|
||||||
"description": "OPNsense is an open-source firewall and routing platform based on FreeBSD. It provides advanced security features, including intrusion detection, VPN support, traffic shaping, and web filtering, with an intuitive web interface for easy management. Known for its reliability and regular updates, OPNsense is a popular choice for both businesses and home networks.",
|
|
||||||
"disable": true,
|
|
||||||
"disable_description": "This script has been temporarily disabled due to installation failures. The OPNsense bootstrap process was not completing successfully, resulting in a plain FreeBSD VM instead of a functional OPNsense installation. The issue is being investigated and the script will be re-enabled once resolved. For more details, see: https://github.com/community-scripts/ProxmoxVE/issues/6183",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "vm/opnsense-vm.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 4,
|
|
||||||
"ram": 8192,
|
|
||||||
"hdd": 10,
|
|
||||||
"os": "FreeBSD",
|
|
||||||
"version": "latest"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": "root",
|
|
||||||
"password": "opnsense"
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "It will fail with default settings if there is no vmbr0 and vmbr1 on your node. Use advanced settings in this case.",
|
|
||||||
"type": "warning"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Upgopher",
|
|
||||||
"slug": "upgopher",
|
|
||||||
"categories": [
|
|
||||||
11
|
|
||||||
],
|
|
||||||
"date_created": "2025-11-22",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 9090,
|
|
||||||
"documentation": "https://github.com/wanetty/upgopher#readme",
|
|
||||||
"config_path": "",
|
|
||||||
"website": "https://github.com/wanetty/upgopher",
|
|
||||||
"logo": "https://raw.githubusercontent.com/wanetty/upgopher/main/static/logopher.webp",
|
|
||||||
"description": "A simple Go web server for file upload, download, and browsing. Cross-platform alternative to Python-based file servers with no library dependencies. Features file upload via web interface, directory navigation, URL copying to clipboard, optional basic authentication, HTTPS support, and hidden files toggle.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/upgopher.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 512,
|
|
||||||
"hdd": 4,
|
|
||||||
"os": "Debian",
|
|
||||||
"version": "13"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "Default uploads directory: `/opt/upgopher/uploads`",
|
|
||||||
"type": "info"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Set application startup options by editing `/etc/systemd/system/upgopher.service`. Read documentation for available options.",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,99 +1,4 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"name": "rcourtman/Pulse",
|
|
||||||
"version": "v4.32.4",
|
|
||||||
"date": "2025-11-23T11:05:14Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "readeck/readeck",
|
|
||||||
"version": "0.21.2",
|
|
||||||
"date": "2025-11-23T10:56:43Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "verdaccio/verdaccio",
|
|
||||||
"version": "generator-verdaccio-plugin@6.0.0-next-8.26",
|
|
||||||
"date": "2025-11-23T07:46:06Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "morpheus65535/bazarr",
|
|
||||||
"version": "v1.5.3",
|
|
||||||
"date": "2025-09-20T12:12:33Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.24.340",
|
|
||||||
"date": "2025-11-23T06:00:18Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tobychui/zoraxy",
|
|
||||||
"version": "v3.3.0-rc1",
|
|
||||||
"date": "2025-11-23T05:42:35Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hyperion-project/hyperion.ng",
|
|
||||||
"version": "2.1.1",
|
|
||||||
"date": "2025-06-14T17:45:06Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "BerriAI/litellm",
|
|
||||||
"version": "v1.80.5.rc.2",
|
|
||||||
"date": "2025-11-23T00:31:24Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "steveiliop56/tinyauth",
|
|
||||||
"version": "v4.0.1",
|
|
||||||
"date": "2025-10-15T16:53:55Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "jeedom/core",
|
|
||||||
"version": "4.4.20",
|
|
||||||
"date": "2025-11-23T00:27:04Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "paperless-ngx/paperless-ngx",
|
|
||||||
"version": "v2.20.0",
|
|
||||||
"date": "2025-11-22T21:56:00Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "OliveTin/OliveTin",
|
|
||||||
"version": "2025.11.25",
|
|
||||||
"date": "2025-11-22T21:00:52Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cleanuparr/Cleanuparr",
|
|
||||||
"version": "v2.4.6",
|
|
||||||
"date": "2025-11-22T20:32:09Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "go-gitea/gitea",
|
|
||||||
"version": "v1.25.2",
|
|
||||||
"date": "2025-11-22T19:37:02Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "msgbyte/tianji",
|
|
||||||
"version": "v1.30.13",
|
|
||||||
"date": "2025-11-22T18:22:32Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "nzbgetcom/nzbget",
|
|
||||||
"version": "v25.4",
|
|
||||||
"date": "2025-10-09T10:27:01Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bunkerity/bunkerweb",
|
|
||||||
"version": "v1.6.6",
|
|
||||||
"date": "2025-11-22T16:10:29Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "TechnitiumSoftware/DnsServer",
|
|
||||||
"version": "v14.2.0",
|
|
||||||
"date": "2025-11-22T12:54:08Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.4.5",
|
|
||||||
"date": "2025-11-12T15:24:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pocketbase/pocketbase",
|
"name": "pocketbase/pocketbase",
|
||||||
"version": "v0.34.0",
|
"version": "v0.34.0",
|
||||||
@@ -114,16 +19,36 @@
|
|||||||
"version": "1.1.5",
|
"version": "1.1.5",
|
||||||
"date": "2025-11-22T07:02:52Z"
|
"date": "2025-11-22T07:02:52Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.24.339",
|
||||||
|
"date": "2025-11-22T06:05:53Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "theonedev/onedev",
|
"name": "theonedev/onedev",
|
||||||
"version": "v13.1.0",
|
"version": "v13.1.0",
|
||||||
"date": "2025-11-22T04:29:25Z"
|
"date": "2025-11-22T04:29:25Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jeedom/core",
|
||||||
|
"version": "4.4.20",
|
||||||
|
"date": "2025-11-22T00:27:05Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "steveiliop56/tinyauth",
|
||||||
|
"version": "v4.0.1",
|
||||||
|
"date": "2025-10-15T16:53:55Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "TwiN/gatus",
|
"name": "TwiN/gatus",
|
||||||
"version": "v5.33.0",
|
"version": "v5.33.0",
|
||||||
"date": "2025-11-21T22:54:49Z"
|
"date": "2025-11-21T22:54:49Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "BerriAI/litellm",
|
||||||
|
"version": "v1.78.5-stable-patch-1",
|
||||||
|
"date": "2025-11-21T19:57:45Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "homarr-labs/homarr",
|
"name": "homarr-labs/homarr",
|
||||||
"version": "v1.44.0",
|
"version": "v1.44.0",
|
||||||
@@ -139,6 +64,16 @@
|
|||||||
"version": "v1.72.0",
|
"version": "v1.72.0",
|
||||||
"date": "2025-11-21T18:20:58Z"
|
"date": "2025-11-21T18:20:58Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.4.5",
|
||||||
|
"date": "2025-11-12T15:24:23Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "readeck/readeck",
|
||||||
|
"version": "0.21.1",
|
||||||
|
"date": "2025-11-21T17:17:52Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "mattermost/mattermost",
|
"name": "mattermost/mattermost",
|
||||||
"version": "v10.11.8",
|
"version": "v10.11.8",
|
||||||
@@ -174,11 +109,21 @@
|
|||||||
"version": "v13.0.3",
|
"version": "v13.0.3",
|
||||||
"date": "2025-11-21T12:43:04Z"
|
"date": "2025-11-21T12:43:04Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "bunkerity/bunkerweb",
|
||||||
|
"version": "v1.6.5",
|
||||||
|
"date": "2025-10-06T15:25:17Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "chrisbenincasa/tunarr",
|
"name": "chrisbenincasa/tunarr",
|
||||||
"version": "v0.23.0-alpha.24",
|
"version": "v0.23.0-alpha.24",
|
||||||
"date": "2025-11-21T12:16:39Z"
|
"date": "2025-11-21T12:16:39Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "rcourtman/Pulse",
|
||||||
|
"version": "v4.32.3",
|
||||||
|
"date": "2025-11-21T11:16:25Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "seriousm4x/UpSnap",
|
"name": "seriousm4x/UpSnap",
|
||||||
"version": "5.2.4",
|
"version": "5.2.4",
|
||||||
@@ -209,6 +154,11 @@
|
|||||||
"version": "mariadb-12.1.2",
|
"version": "mariadb-12.1.2",
|
||||||
"date": "2025-11-18T15:16:21Z"
|
"date": "2025-11-18T15:16:21Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "morpheus65535/bazarr",
|
||||||
|
"version": "v1.5.3",
|
||||||
|
"date": "2025-09-20T12:12:33Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bluenviron/mediamtx",
|
"name": "bluenviron/mediamtx",
|
||||||
"version": "v1.15.4",
|
"version": "v1.15.4",
|
||||||
@@ -234,6 +184,11 @@
|
|||||||
"version": "v3007.9",
|
"version": "v3007.9",
|
||||||
"date": "2025-11-20T17:58:32Z"
|
"date": "2025-11-20T17:58:32Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "msgbyte/tianji",
|
||||||
|
"version": "v1.30.12",
|
||||||
|
"date": "2025-11-20T16:13:19Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "neo4j/neo4j",
|
"name": "neo4j/neo4j",
|
||||||
"version": "5.26.17",
|
"version": "5.26.17",
|
||||||
@@ -374,6 +329,11 @@
|
|||||||
"version": "v1.143.0rc1",
|
"version": "v1.143.0rc1",
|
||||||
"date": "2025-11-19T00:09:31Z"
|
"date": "2025-11-19T00:09:31Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "hyperion-project/hyperion.ng",
|
||||||
|
"version": "2.1.1",
|
||||||
|
"date": "2025-06-14T17:45:06Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "gtsteffaniak/filebrowser",
|
"name": "gtsteffaniak/filebrowser",
|
||||||
"version": "v1.0.1-stable",
|
"version": "v1.0.1-stable",
|
||||||
@@ -504,11 +464,26 @@
|
|||||||
"version": "v25.11.1",
|
"version": "v25.11.1",
|
||||||
"date": "2025-11-16T13:04:21Z"
|
"date": "2025-11-16T13:04:21Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "TechnitiumSoftware/DnsServer",
|
||||||
|
"version": "v14.1.0",
|
||||||
|
"date": "2025-11-16T11:32:10Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "FlowiseAI/Flowise",
|
"name": "FlowiseAI/Flowise",
|
||||||
"version": "flowise@3.0.11",
|
"version": "flowise@3.0.11",
|
||||||
"date": "2025-11-16T01:29:06Z"
|
"date": "2025-11-16T01:29:06Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "OliveTin/OliveTin",
|
||||||
|
"version": "3000.4.0",
|
||||||
|
"date": "2025-11-16T01:02:49Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paperless-ngx/paperless-ngx",
|
||||||
|
"version": "v2.19.6",
|
||||||
|
"date": "2025-11-15T22:56:45Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "karakeep-app/karakeep",
|
"name": "karakeep-app/karakeep",
|
||||||
"version": "android/v1.8.2-2",
|
"version": "android/v1.8.2-2",
|
||||||
@@ -539,6 +514,16 @@
|
|||||||
"version": "v4.7.0",
|
"version": "v4.7.0",
|
||||||
"date": "2025-11-14T09:45:13Z"
|
"date": "2025-11-14T09:45:13Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "nzbgetcom/nzbget",
|
||||||
|
"version": "v25.4",
|
||||||
|
"date": "2025-10-09T10:27:01Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "verdaccio/verdaccio",
|
||||||
|
"version": "generator-verdaccio-plugin@6.0.0-next-8.25",
|
||||||
|
"date": "2025-11-14T08:14:55Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "runtipi/runtipi",
|
"name": "runtipi/runtipi",
|
||||||
"version": "v4.6.5",
|
"version": "v4.6.5",
|
||||||
@@ -659,6 +644,11 @@
|
|||||||
"version": "v1.0.0-beta19",
|
"version": "v1.0.0-beta19",
|
||||||
"date": "2025-11-09T17:26:30Z"
|
"date": "2025-11-09T17:26:30Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Cleanuparr/Cleanuparr",
|
||||||
|
"version": "v2.4.5",
|
||||||
|
"date": "2025-11-09T17:14:01Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "authelia/authelia",
|
"name": "authelia/authelia",
|
||||||
"version": "v4.39.14",
|
"version": "v4.39.14",
|
||||||
@@ -789,6 +779,11 @@
|
|||||||
"version": "v4.0.16.2944",
|
"version": "v4.0.16.2944",
|
||||||
"date": "2025-11-05T01:56:48Z"
|
"date": "2025-11-05T01:56:48Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "go-gitea/gitea",
|
||||||
|
"version": "v1.25.1",
|
||||||
|
"date": "2025-11-04T20:01:09Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "jhuckaby/Cronicle",
|
"name": "jhuckaby/Cronicle",
|
||||||
"version": "v0.9.100",
|
"version": "v0.9.100",
|
||||||
@@ -839,6 +834,11 @@
|
|||||||
"version": "v1.9.1",
|
"version": "v1.9.1",
|
||||||
"date": "2025-11-02T21:14:50Z"
|
"date": "2025-11-02T21:14:50Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "tobychui/zoraxy",
|
||||||
|
"version": "v3.2.9",
|
||||||
|
"date": "2025-11-02T05:48:39Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "9001/copyparty",
|
"name": "9001/copyparty",
|
||||||
"version": "v1.19.20",
|
"version": "v1.19.20",
|
||||||
|
|||||||
@@ -35,22 +35,12 @@ export const ScriptSchema = z.object({
|
|||||||
logo: z.string().url().nullable(),
|
logo: z.string().url().nullable(),
|
||||||
config_path: z.string(),
|
config_path: z.string(),
|
||||||
description: z.string().min(1, "Description is required"),
|
description: z.string().min(1, "Description is required"),
|
||||||
disable: z.boolean().optional(),
|
|
||||||
disable_description: z.string().optional(),
|
|
||||||
install_methods: z.array(InstallMethodSchema).min(1, "At least one install method is required"),
|
install_methods: z.array(InstallMethodSchema).min(1, "At least one install method is required"),
|
||||||
default_credentials: z.object({
|
default_credentials: z.object({
|
||||||
username: z.string().nullable(),
|
username: z.string().nullable(),
|
||||||
password: z.string().nullable(),
|
password: z.string().nullable(),
|
||||||
}),
|
}),
|
||||||
notes: z.array(NoteSchema),
|
notes: z.array(NoteSchema),
|
||||||
}).refine((data) => {
|
|
||||||
if (data.disable === true && !data.disable_description) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}, {
|
|
||||||
message: "disable_description is required when disable is true",
|
|
||||||
path: ["disable_description"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export type Script = z.infer<typeof ScriptSchema>;
|
export type Script = z.infer<typeof ScriptSchema>;
|
||||||
|
|||||||
@@ -42,8 +42,6 @@ const initialScript: Script = {
|
|||||||
website: null,
|
website: null,
|
||||||
logo: null,
|
logo: null,
|
||||||
description: "",
|
description: "",
|
||||||
disable: undefined,
|
|
||||||
disable_description: undefined,
|
|
||||||
install_methods: [],
|
install_methods: [],
|
||||||
default_credentials: {
|
default_credentials: {
|
||||||
username: null,
|
username: null,
|
||||||
@@ -263,25 +261,7 @@ export default function JSONGenerator() {
|
|||||||
<Switch checked={script.privileged} onCheckedChange={checked => updateScript("privileged", checked)} />
|
<Switch checked={script.privileged} onCheckedChange={checked => updateScript("privileged", checked)} />
|
||||||
<label>Privileged</label>
|
<label>Privileged</label>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center space-x-2">
|
|
||||||
<Switch checked={script.disable || false} onCheckedChange={checked => updateScript("disable", checked)} />
|
|
||||||
<label>Disabled</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{script.disable && (
|
|
||||||
<div>
|
|
||||||
<Label>
|
|
||||||
Disable Description
|
|
||||||
{" "}
|
|
||||||
<span className="text-red-500">*</span>
|
|
||||||
</Label>
|
|
||||||
<Textarea
|
|
||||||
placeholder="Explain why this script is disabled..."
|
|
||||||
value={script.disable_description || ""}
|
|
||||||
onChange={e => updateScript("disable_description", e.target.value)}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
<Input
|
<Input
|
||||||
placeholder="Interface Port"
|
placeholder="Interface Port"
|
||||||
type="number"
|
type="number"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { basePath } from "@/config/site-config";
|
|
||||||
|
|
||||||
export default function NotFoundPage() {
|
export default function NotFoundPage() {
|
||||||
return (
|
return (
|
||||||
@@ -13,17 +12,7 @@ export default function NotFoundPage() {
|
|||||||
Oops, the page you are looking for could not be found.
|
Oops, the page you are looking for could not be found.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Button
|
<Button onClick={() => window.history.back()} variant="secondary">
|
||||||
onClick={() => {
|
|
||||||
if (window.history.length > 1) {
|
|
||||||
window.history.back();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
window.location.href = `/${basePath}`;
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
variant="secondary"
|
|
||||||
>
|
|
||||||
Go Back
|
Go Back
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ export default function ScriptAccordion({
|
|||||||
className={`flex cursor-pointer items-center justify-between gap-1 px-1 py-1 text-muted-foreground hover:rounded-lg hover:bg-accent/60 hover:dark:bg-accent/20 ${selectedScript === script.slug
|
className={`flex cursor-pointer items-center justify-between gap-1 px-1 py-1 text-muted-foreground hover:rounded-lg hover:bg-accent/60 hover:dark:bg-accent/20 ${selectedScript === script.slug
|
||||||
? "rounded-lg bg-accent font-semibold dark:bg-accent/30 dark:text-white"
|
? "rounded-lg bg-accent font-semibold dark:bg-accent/30 dark:text-white"
|
||||||
: ""
|
: ""
|
||||||
} ${script.disable ? "opacity-60" : ""}`}
|
}`}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
handleSelected(script.slug);
|
handleSelected(script.slug);
|
||||||
setSelectedCategory(category.name);
|
setSelectedCategory(category.name);
|
||||||
@@ -143,9 +143,7 @@ export default function ScriptAccordion({
|
|||||||
alt={script.name}
|
alt={script.name}
|
||||||
className="mr-1 w-4 h-4 rounded-full"
|
className="mr-1 w-4 h-4 rounded-full"
|
||||||
/>
|
/>
|
||||||
<span className="flex items-center gap-2">
|
<span className="flex items-center gap-2">{script.name}</span>
|
||||||
{script.name}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
{formattedBadge(script.type)}
|
{formattedBadge(script.type)}
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import { useVersions } from "@/hooks/use-versions";
|
|||||||
import { basePath } from "@/config/site-config";
|
import { basePath } from "@/config/site-config";
|
||||||
import { extractDate } from "@/lib/time";
|
import { extractDate } from "@/lib/time";
|
||||||
|
|
||||||
import DisableDescription from "./script-items/disable-description";
|
|
||||||
import { getDisplayValueFromType } from "./script-info-blocks";
|
import { getDisplayValueFromType } from "./script-info-blocks";
|
||||||
import DefaultPassword from "./script-items/default-password";
|
import DefaultPassword from "./script-items/default-password";
|
||||||
import InstallCommand from "./script-items/install-command";
|
import InstallCommand from "./script-items/install-command";
|
||||||
@@ -147,45 +146,37 @@ export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) {
|
|||||||
<ScriptHeader item={item} />
|
<ScriptHeader item={item} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
|
|
||||||
{item.disable && item.disable_description && (
|
<Description item={item} />
|
||||||
<DisableDescription item={item} />
|
<Alerts item={item} />
|
||||||
) }
|
|
||||||
|
|
||||||
{!item.disable && (
|
<div className="mt-4 rounded-lg border shadow-sm">
|
||||||
<>
|
<div className="flex gap-3 px-4 py-2 bg-accent/25">
|
||||||
<Description item={item} />
|
<h2 className="text-lg font-semibold">
|
||||||
|
How to
|
||||||
<Alerts item={item} />
|
{" "}
|
||||||
<div className="mt-4 rounded-lg border shadow-sm">
|
{item.type === "pve" ? "use" : item.type === "addon" ? "apply" : "install"}
|
||||||
|
</h2>
|
||||||
|
<Tooltips item={item} />
|
||||||
|
</div>
|
||||||
|
<Separator />
|
||||||
|
<div className="">
|
||||||
|
<InstallCommand item={item} />
|
||||||
|
</div>
|
||||||
|
{item.config_path && (
|
||||||
|
<>
|
||||||
|
<Separator />
|
||||||
<div className="flex gap-3 px-4 py-2 bg-accent/25">
|
<div className="flex gap-3 px-4 py-2 bg-accent/25">
|
||||||
<h2 className="text-lg font-semibold">
|
<h2 className="text-lg font-semibold">Location of config file</h2>
|
||||||
How to
|
|
||||||
{" "}
|
|
||||||
{item.type === "pve" ? "use" : item.type === "addon" ? "apply" : "install"}
|
|
||||||
</h2>
|
|
||||||
<Tooltips item={item} />
|
|
||||||
</div>
|
</div>
|
||||||
<Separator />
|
<Separator />
|
||||||
<div className="">
|
<div className="">
|
||||||
<InstallCommand item={item} />
|
<ConfigFile configPath={item.config_path} />
|
||||||
</div>
|
</div>
|
||||||
{item.config_path && (
|
</>
|
||||||
<>
|
)}
|
||||||
<Separator />
|
</div>
|
||||||
<div className="flex gap-3 px-4 py-2 bg-accent/25">
|
|
||||||
<h2 className="text-lg font-semibold">Location of config file</h2>
|
|
||||||
</div>
|
|
||||||
<Separator />
|
|
||||||
<div className="">
|
|
||||||
<ConfigFile configPath={item.config_path} />
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<DefaultPassword item={item} />
|
<DefaultPassword item={item} />
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
import { AlertCircle } from "lucide-react";
|
|
||||||
|
|
||||||
import type { Script } from "@/lib/types";
|
|
||||||
|
|
||||||
import TextParseLinks from "@/components/text-parse-links";
|
|
||||||
import { AlertColors } from "@/config/site-config";
|
|
||||||
import { cn } from "@/lib/utils";
|
|
||||||
|
|
||||||
export default function DisableDescription({ item }: { item: Script }) {
|
|
||||||
return (
|
|
||||||
<div className="mt-4 flex flex-col shadow-sm gap-2">
|
|
||||||
<div
|
|
||||||
className={cn(
|
|
||||||
"flex items-start gap-3 rounded-lg border p-4 text-sm",
|
|
||||||
AlertColors.warning,
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
<AlertCircle className="h-5 min-h-5 w-5 min-w-5 mt-0.5" />
|
|
||||||
<div className="flex flex-col gap-2">
|
|
||||||
<h3 className="font-semibold text-base">Script Disabled</h3>
|
|
||||||
<p>{TextParseLinks(item.disable_description!)}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
import { ClipboardIcon, ExternalLink } from "lucide-react";
|
|
||||||
import { Fragment } from "react";
|
|
||||||
|
|
||||||
import handleCopy from "./handle-copy";
|
|
||||||
|
|
||||||
const URL_PATTERN = /(https?:\/\/[^\s,]+)/;
|
|
||||||
const CODE_PATTERN = /`([^`]*)`/;
|
|
||||||
|
|
||||||
export default function TextParseLinks(text: string) {
|
|
||||||
const codeParts = text.split(CODE_PATTERN);
|
|
||||||
|
|
||||||
return codeParts.map((part: string, codeIndex: number) => {
|
|
||||||
if (codeIndex % 2 === 1) {
|
|
||||||
return (
|
|
||||||
<span
|
|
||||||
key={`code-${codeIndex}`}
|
|
||||||
className="bg-secondary py-1 px-2 rounded-lg inline-flex items-center gap-2"
|
|
||||||
>
|
|
||||||
{part}
|
|
||||||
<ClipboardIcon
|
|
||||||
className="size-3 cursor-pointer"
|
|
||||||
onClick={() => handleCopy("command", part)}
|
|
||||||
/>
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const urlParts = part.split(URL_PATTERN);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Fragment key={`text-${codeIndex}`}>
|
|
||||||
{urlParts.map((urlPart: string, urlIndex: number) => {
|
|
||||||
if (urlIndex % 2 === 1) {
|
|
||||||
return (
|
|
||||||
<a
|
|
||||||
key={`url-${codeIndex}-${urlIndex}`}
|
|
||||||
href={urlPart}
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
className="inline-flex items-center gap-1 text-blue-600 dark:text-blue-400 hover:underline font-medium transition-colors"
|
|
||||||
>
|
|
||||||
{urlPart}
|
|
||||||
<ExternalLink className="size-3" />
|
|
||||||
</a>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return <Fragment key={`plain-${codeIndex}-${urlIndex}`}>{urlPart}</Fragment>;
|
|
||||||
})}
|
|
||||||
</Fragment>
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useInView, useMotionValue, useSpring } from "motion/react";
|
import { useInView, useMotionValue, useSpring } from "framer-motion";
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
|
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import React from "react";
|
|||||||
import type { OperatingSystem } from "@/lib/types";
|
import type { OperatingSystem } from "@/lib/types";
|
||||||
|
|
||||||
// eslint-disable-next-line node/no-process-env
|
// eslint-disable-next-line node/no-process-env
|
||||||
export const basePath = process.env.BASE_PATH || "ProxmoxVE";
|
export const basePath = process.env.BASE_PATH || "";
|
||||||
|
|
||||||
export const navbarLinks = [
|
export const navbarLinks = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ export type Script = {
|
|||||||
logo: string | null;
|
logo: string | null;
|
||||||
config_path: string;
|
config_path: string;
|
||||||
description: string;
|
description: string;
|
||||||
disable?: boolean;
|
|
||||||
disable_description?: string;
|
|
||||||
install_methods: {
|
install_methods: {
|
||||||
type: "default" | "alpine";
|
type: "default" | "alpine";
|
||||||
script: string;
|
script: string;
|
||||||
|
|||||||
@@ -97,4 +97,9 @@ msg_ok "Configured Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -89,4 +89,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -41,4 +41,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -146,4 +146,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ curl -fsSL "$RELEASE" -o $(basename "$RELEASE")
|
|||||||
$STD unzip Agent_Linux64*.zip
|
$STD unzip Agent_Linux64*.zip
|
||||||
chmod +x ./Agent
|
chmod +x ./Agent
|
||||||
echo $RELEASE >~/.agentdvr
|
echo $RELEASE >~/.agentdvr
|
||||||
rm -rf Agent_Linux64*.zip
|
|
||||||
msg_ok "Installed AgentDVR"
|
msg_ok "Installed AgentDVR"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -54,4 +53,10 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf Agent_Linux64*.zip
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -34,4 +34,8 @@ msg_ok "Installed Apache Cassandra"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -36,4 +36,8 @@ msg_ok "Installed Apache CouchDB."
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -71,8 +71,6 @@ mv ~/mysql-connector-j-9.3.0/mysql-connector-j-9.3.0.jar /etc/guacamole/lib/
|
|||||||
curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_SERVER}/binary/guacamole-auth-jdbc-${RELEASE_SERVER}.tar.gz" -o "/root/guacamole-auth-jdbc-${RELEASE_SERVER}.tar.gz"
|
curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_SERVER}/binary/guacamole-auth-jdbc-${RELEASE_SERVER}.tar.gz" -o "/root/guacamole-auth-jdbc-${RELEASE_SERVER}.tar.gz"
|
||||||
$STD tar -xf ~/guacamole-auth-jdbc-$RELEASE_SERVER.tar.gz
|
$STD tar -xf ~/guacamole-auth-jdbc-$RELEASE_SERVER.tar.gz
|
||||||
mv ~/guacamole-auth-jdbc-$RELEASE_SERVER/mysql/guacamole-auth-jdbc-mysql-$RELEASE_SERVER.jar /etc/guacamole/extensions/
|
mv ~/guacamole-auth-jdbc-$RELEASE_SERVER/mysql/guacamole-auth-jdbc-mysql-$RELEASE_SERVER.jar /etc/guacamole/extensions/
|
||||||
rm -rf ~/mysql-connector-j-9.3.0{,.tar.gz}
|
|
||||||
rm -rf ~/guacamole-auth-jdbc-$RELEASE_SERVER{,.tar.gz}
|
|
||||||
msg_ok "Setup Apache Guacamole"
|
msg_ok "Setup Apache Guacamole"
|
||||||
|
|
||||||
msg_info "Setup Database"
|
msg_info "Setup Database"
|
||||||
@@ -148,4 +146,10 @@ msg_ok "Setup Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf ~/mysql-connector-j-9.3.0{,.tar.gz}
|
||||||
|
rm -rf ~/guacamole-auth-jdbc-$RELEASE_SERVER{,.tar.gz}
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -69,4 +69,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ curl -fsSL "$TOMCAT_URL" -o "/tmp/tomcat.tar.gz"
|
|||||||
mkdir -p /opt/tomcat-$TOMCAT_VERSION
|
mkdir -p /opt/tomcat-$TOMCAT_VERSION
|
||||||
tar --strip-components=1 -xzf /tmp/tomcat.tar.gz -C /opt/tomcat-$TOMCAT_VERSION
|
tar --strip-components=1 -xzf /tmp/tomcat.tar.gz -C /opt/tomcat-$TOMCAT_VERSION
|
||||||
chown -R root:root /opt/tomcat-$TOMCAT_VERSION
|
chown -R root:root /opt/tomcat-$TOMCAT_VERSION
|
||||||
rm -f /tmp/tomcat.tar.gz
|
|
||||||
cat <<EOF >/etc/systemd/system/tomcat.service
|
cat <<EOF >/etc/systemd/system/tomcat.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Apache Tomcat Web Application Container
|
Description=Apache Tomcat Web Application Container
|
||||||
@@ -147,4 +147,9 @@ msg_ok "Tomcat $LATEST_VERSION installed and started"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f /tmp/tomcat.tar.gz
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ update_os
|
|||||||
msg_info "Installing Apt-Cacher NG"
|
msg_info "Installing Apt-Cacher NG"
|
||||||
DEBIAN_FRONTEND=noninteractive $STD apt-get -o Dpkg::Options::="--force-confold" install -y apt-cacher-ng
|
DEBIAN_FRONTEND=noninteractive $STD apt-get -o Dpkg::Options::="--force-confold" install -y apt-cacher-ng
|
||||||
sed -i 's/# PassThroughPattern: .* # this would allow CONNECT to everything/PassThroughPattern: .*/' /etc/apt-cacher-ng/acng.conf
|
sed -i 's/# PassThroughPattern: .* # this would allow CONNECT to everything/PassThroughPattern: .*/' /etc/apt-cacher-ng/acng.conf
|
||||||
cat <<EOF >/etc/apt/apt.conf.d/00aptproxy.conf
|
cat << EOF >/etc/apt/apt.conf.d/00aptproxy.conf
|
||||||
Acquire::http::Proxy "http://localhost:3142";
|
Acquire::http::Proxy "http://localhost:3142";
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now apt-cacher-ng
|
systemctl enable -q --now apt-cacher-ng
|
||||||
@@ -24,4 +24,8 @@ msg_ok "Installed Apt-Cacher NG"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -91,4 +91,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -82,4 +82,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
|||||||
systemctl disable -q --now nginx
|
systemctl disable -q --now nginx
|
||||||
curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)")
|
curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)")
|
||||||
$STD unzip AriaNg-*-AllInOne.zip -d /var/www
|
$STD unzip AriaNg-*-AllInOne.zip -d /var/www
|
||||||
rm AriaNg-*-AllInOne.zip
|
|
||||||
rm /etc/nginx/sites-enabled/*
|
rm /etc/nginx/sites-enabled/*
|
||||||
cat <<EOF >/etc/nginx/conf.d/ariang.conf
|
cat <<EOF >/etc/nginx/conf.d/ariang.conf
|
||||||
server {
|
server {
|
||||||
@@ -85,4 +84,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm AriaNg-*-AllInOne.zip
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ curl -fsSL "$DOWNLOAD_URL" -o "$temp_file"
|
|||||||
mkdir -p /opt/asterisk
|
mkdir -p /opt/asterisk
|
||||||
tar zxf "$temp_file" --strip-components=1 -C /opt/asterisk
|
tar zxf "$temp_file" --strip-components=1 -C /opt/asterisk
|
||||||
cd /opt/asterisk
|
cd /opt/asterisk
|
||||||
rm -f "$temp_file"
|
|
||||||
msg_ok "Downloaded Asterisk ($RELEASE)"
|
msg_ok "Downloaded Asterisk ($RELEASE)"
|
||||||
|
|
||||||
msg_info "Installing Asterisk"
|
msg_info "Installing Asterisk"
|
||||||
@@ -106,5 +105,10 @@ msg_ok "Installed Asterisk"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -28,4 +28,8 @@ msg_ok "Setup audiobookshelf"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -66,4 +66,8 @@ msg_ok "Authelia Setup completed"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -46,4 +46,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -15,34 +15,34 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing dependencies"
|
msg_info "Installing dependencies"
|
||||||
$STD apt-get install -y --no-install-recommends \
|
$STD apt-get install -y --no-install-recommends \
|
||||||
python3-dev \
|
python3-dev \
|
||||||
sqlite3 \
|
sqlite3 \
|
||||||
build-essential \
|
build-essential \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
libmagic1 \
|
libmagic1 \
|
||||||
libxi6 \
|
libxi6 \
|
||||||
libxslt1.1 \
|
libxslt1.1 \
|
||||||
libxtst6 \
|
libxtst6 \
|
||||||
libxrandr2 \
|
libxrandr2 \
|
||||||
libxkbfile1 \
|
libxkbfile1 \
|
||||||
libxcomposite1 \
|
libxcomposite1 \
|
||||||
libopengl0 \
|
libopengl0 \
|
||||||
libnss3 \
|
libnss3 \
|
||||||
libxkbcommon0 \
|
libxkbcommon0 \
|
||||||
libegl1 \
|
libegl1 \
|
||||||
libxdamage1 \
|
libxdamage1 \
|
||||||
libgl1 \
|
libgl1 \
|
||||||
libglx-mesa0 \
|
libglx-mesa0 \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
xdg-utils \
|
xdg-utils \
|
||||||
inotify-tools \
|
inotify-tools \
|
||||||
binutils \
|
binutils \
|
||||||
unrar-free \
|
unrar-free \
|
||||||
zip
|
zip
|
||||||
msg_ok "Installed dependencies"
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-64bit"
|
fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-64bit"
|
||||||
@@ -323,4 +323,8 @@ msg_ok "Created scripts and service files"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -97,4 +97,8 @@ msg_ok "Configured NGINX"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ mkdir -p /opt/backrest/{bin,config,data}
|
|||||||
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
|
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
|
||||||
tar xzf $temp_file -C /opt/backrest/bin
|
tar xzf $temp_file -C /opt/backrest/bin
|
||||||
chmod +x /opt/backrest/bin/backrest
|
chmod +x /opt/backrest/bin/backrest
|
||||||
rm -f "$temp_file"
|
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
msg_ok "Installed Backrest"
|
msg_ok "Installed Backrest"
|
||||||
|
|
||||||
@@ -47,5 +46,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
|
|||||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
$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 TEMPLATE template0;"
|
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
|
||||||
{
|
{
|
||||||
echo "Baikal Credentials"
|
echo "Baikal Credentials"
|
||||||
echo "Baikal Database User: $DB_USER"
|
echo "Baikal Database User: $DB_USER"
|
||||||
echo "Baikal Database Password: $DB_PASS"
|
echo "Baikal Database Password: $DB_PASS"
|
||||||
echo "Baikal Database Name: $DB_NAME"
|
echo "Baikal Database Name: $DB_NAME"
|
||||||
} >>~/baikal.creds
|
} >>~/baikal.creds
|
||||||
msg_ok "Set up PostgreSQL Database"
|
msg_ok "Set up PostgreSQL Database"
|
||||||
|
|
||||||
@@ -81,4 +81,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
redis-server \
|
redis-server \
|
||||||
nginx \
|
nginx \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
libvips
|
libvips
|
||||||
#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm}
|
#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm}
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
@@ -41,14 +41,14 @@ msg_info "Configure MeiliSearch"
|
|||||||
curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml
|
curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml
|
||||||
MASTER_KEY=$(openssl rand -base64 12)
|
MASTER_KEY=$(openssl rand -base64 12)
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's|^env =.*|env = "production"|' \
|
-e 's|^env =.*|env = "production"|' \
|
||||||
-e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \
|
-e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \
|
||||||
-e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \
|
-e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \
|
||||||
-e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \
|
-e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \
|
||||||
-e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \
|
-e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \
|
||||||
-e 's|^# no_analytics = true|no_analytics = true|' \
|
-e 's|^# no_analytics = true|no_analytics = true|' \
|
||||||
-e 's|^http_addr =.*|http_addr = "127.0.0.1:7700"|' \
|
-e 's|^http_addr =.*|http_addr = "127.0.0.1:7700"|' \
|
||||||
/etc/meilisearch.toml
|
/etc/meilisearch.toml
|
||||||
msg_ok "Configured MeiliSearch"
|
msg_ok "Configured MeiliSearch"
|
||||||
|
|
||||||
msg_info "Creating MeiliSearch service"
|
msg_info "Creating MeiliSearch service"
|
||||||
@@ -77,11 +77,11 @@ MeiliSearch_API_KEY=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorizat
|
|||||||
MeiliSearch_API_KEY_UID=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorization: Bearer $MASTER_KEY" | grep -o '"uid":"[^"]*"' | head -n 1 | sed 's/"uid":"//;s/"//')
|
MeiliSearch_API_KEY_UID=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorization: Bearer $MASTER_KEY" | grep -o '"uid":"[^"]*"' | head -n 1 | sed 's/"uid":"//;s/"//')
|
||||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
||||||
sed -i -e "s|^APP_URL=|APP_URL=http://${LOCAL_IP}/bar/|" \
|
sed -i -e "s|^APP_URL=|APP_URL=http://${LOCAL_IP}/bar/|" \
|
||||||
-e "s|^MEILISEARCH_HOST=|MEILISEARCH_HOST=http://127.0.0.1:7700|" \
|
-e "s|^MEILISEARCH_HOST=|MEILISEARCH_HOST=http://127.0.0.1:7700|" \
|
||||||
-e "s|^MEILISEARCH_KEY=|MEILISEARCH_KEY=${MASTER_KEY}|" \
|
-e "s|^MEILISEARCH_KEY=|MEILISEARCH_KEY=${MASTER_KEY}|" \
|
||||||
-e "s|^MEILISEARCH_API_KEY=|MEILISEARCH_API_KEY=${MeiliSearch_API_KEY}|" \
|
-e "s|^MEILISEARCH_API_KEY=|MEILISEARCH_API_KEY=${MeiliSearch_API_KEY}|" \
|
||||||
-e "s|^MEILISEARCH_API_KEY_UID=|MEILISEARCH_API_KEY_UID=${MeiliSearch_API_KEY_UID}|" \
|
-e "s|^MEILISEARCH_API_KEY_UID=|MEILISEARCH_API_KEY_UID=${MeiliSearch_API_KEY_UID}|" \
|
||||||
/opt/bar-assistant/.env
|
/opt/bar-assistant/.env
|
||||||
$STD composer install --no-interaction
|
$STD composer install --no-interaction
|
||||||
$STD php artisan key:generate
|
$STD php artisan key:generate
|
||||||
touch storage/bar-assistant/database.ba3.sqlite
|
touch storage/bar-assistant/database.ba3.sqlite
|
||||||
@@ -190,4 +190,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -49,4 +49,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -45,4 +45,9 @@ msg_ok "Created & started service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -39,4 +39,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -69,4 +69,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -80,4 +80,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -106,4 +106,8 @@ msg_ok "Created BookLore Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -105,4 +105,8 @@ msg_ok "Created Services"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get autoremove
|
||||||
|
$STD apt-get autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -44,4 +44,8 @@ msg_ok "Installed BunkerWeb v${RELEASE}"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -66,4 +66,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -43,4 +43,8 @@ fi
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -32,4 +32,8 @@ msg_ok "Installed CasaOS"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -141,4 +141,8 @@ msg_ok "Created Services"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -51,4 +51,8 @@ msg_ok "Installed Channels DVR Server"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ msg_info "Install Checkmk"
|
|||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
|
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
|
||||||
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
|
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
|
||||||
$STD apt-get install -y /opt/checkmk.deb
|
$STD apt-get install -y /opt/checkmk.deb
|
||||||
rm -rf /opt/checkmk.deb
|
|
||||||
echo "${RELEASE}" >"/opt/checkmk_version.txt"
|
echo "${RELEASE}" >"/opt/checkmk_version.txt"
|
||||||
msg_ok "Installed Checkmk"
|
msg_ok "Installed Checkmk"
|
||||||
|
|
||||||
@@ -41,4 +40,8 @@ $STD omd start "$SITE_NAME"
|
|||||||
|
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
cleanup_lxc
|
msg_info "Cleaning up"
|
||||||
|
rm -rf /opt/checkmk.deb
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -39,4 +39,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -79,4 +79,8 @@ msg_ok "Setup Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -64,4 +64,9 @@ fi
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -36,4 +36,8 @@ msg_ok "Service Setup"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -60,4 +60,8 @@ fi
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -19,14 +19,11 @@ echo "${TAB3}[1]-None [2]-NVIDIA [3]-AMD [4]-Intel"
|
|||||||
read -rp "${TAB3}Enter your choice [1-4] (default: 1): " gpu_choice
|
read -rp "${TAB3}Enter your choice [1-4] (default: 1): " gpu_choice
|
||||||
gpu_choice=${gpu_choice:-1}
|
gpu_choice=${gpu_choice:-1}
|
||||||
case "$gpu_choice" in
|
case "$gpu_choice" in
|
||||||
1) comfyui_gpu_type="none" ;;
|
1) comfyui_gpu_type="none";;
|
||||||
2) comfyui_gpu_type="nvidia" ;;
|
2) comfyui_gpu_type="nvidia";;
|
||||||
3) comfyui_gpu_type="amd" ;;
|
3) comfyui_gpu_type="amd";;
|
||||||
4) comfyui_gpu_type="intel" ;;
|
4) comfyui_gpu_type="intel";;
|
||||||
*)
|
*) comfyui_gpu_type="none"; echo "${TAB3}Invalid choice. Defaulting to ${comfyui_gpu_type}." ;;
|
||||||
comfyui_gpu_type="none"
|
|
||||||
echo "${TAB3}Invalid choice. Defaulting to ${comfyui_gpu_type}."
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -38,25 +35,25 @@ msg_info "Python dependencies"
|
|||||||
$STD uv venv "/opt/ComfyUI/venv"
|
$STD uv venv "/opt/ComfyUI/venv"
|
||||||
if [[ "${comfyui_gpu_type,,}" == "nvidia" ]]; then
|
if [[ "${comfyui_gpu_type,,}" == "nvidia" ]]; then
|
||||||
$STD uv pip install \
|
$STD uv pip install \
|
||||||
torch \
|
torch \
|
||||||
torchvision \
|
torchvision \
|
||||||
torchaudio \
|
torchaudio \
|
||||||
--extra-index-url "https://download.pytorch.org/whl/cu128" \
|
--extra-index-url "https://download.pytorch.org/whl/cu128" \
|
||||||
--python="/opt/ComfyUI/venv/bin/python"
|
--python="/opt/ComfyUI/venv/bin/python"
|
||||||
elif [[ "${comfyui_gpu_type,,}" == "amd" ]]; then
|
elif [[ "${comfyui_gpu_type,,}" == "amd" ]]; then
|
||||||
$STD uv pip install \
|
$STD uv pip install \
|
||||||
torch \
|
torch \
|
||||||
torchvision \
|
torchvision \
|
||||||
torchaudio \
|
torchaudio \
|
||||||
--index-url "https://download.pytorch.org/whl/rocm6.3" \
|
--index-url "https://download.pytorch.org/whl/rocm6.3" \
|
||||||
--python="/opt/ComfyUI/venv/bin/python"
|
--python="/opt/ComfyUI/venv/bin/python"
|
||||||
elif [[ "${comfyui_gpu_type,,}" == "intel" ]]; then
|
elif [[ "${comfyui_gpu_type,,}" == "intel" ]]; then
|
||||||
$STD uv pip install \
|
$STD uv pip install \
|
||||||
torch \
|
torch \
|
||||||
torchvision \
|
torchvision \
|
||||||
torchaudio \
|
torchaudio \
|
||||||
--index-url "https://download.pytorch.org/whl/xpu" \
|
--index-url "https://download.pytorch.org/whl/xpu" \
|
||||||
--python="/opt/ComfyUI/venv/bin/python"
|
--python="/opt/ComfyUI/venv/bin/python"
|
||||||
fi
|
fi
|
||||||
$STD uv pip install -r "/opt/ComfyUI/requirements.txt" --python="/opt/ComfyUI/venv/bin/python"
|
$STD uv pip install -r "/opt/ComfyUI/requirements.txt" --python="/opt/ComfyUI/venv/bin/python"
|
||||||
msg_ok "Python dependencies"
|
msg_ok "Python dependencies"
|
||||||
@@ -82,4 +79,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -39,4 +39,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -61,4 +61,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -75,4 +75,8 @@ msg_ok "Service Created"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ LATEST_RELEASE_NO_V=${LATEST_RELEASE#v}
|
|||||||
mv /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}/* /opt/cosmos/
|
mv /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}/* /opt/cosmos/
|
||||||
rmdir /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}
|
rmdir /opt/cosmos/cosmos-cloud-${LATEST_RELEASE_NO_V}
|
||||||
chmod +x /opt/cosmos/cosmos
|
chmod +x /opt/cosmos/cosmos
|
||||||
rm -f "/opt/cosmos/cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip"
|
|
||||||
msg_ok "Installed Cosmos"
|
msg_ok "Installed Cosmos"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -74,4 +73,9 @@ msg_info "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "/opt/cosmos/cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -87,4 +87,9 @@ msg_ok "Crafty-Controller service started"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf /opt/crafty-4-v${RELEASE}.zip
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -28,4 +28,8 @@ msg_ok "Configured Cronicle Primary Server"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -39,4 +39,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -61,4 +61,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -20,9 +20,13 @@ msg_ok "Installed Dependencies"
|
|||||||
msg_info "Installing Daemon Sync Server"
|
msg_info "Installing Daemon Sync Server"
|
||||||
curl -fsSL "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/daemonsync_2.2.0.0059_amd64.deb" -o "daemonsync_2.2.0.0059_amd64.deb"
|
curl -fsSL "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/daemonsync_2.2.0.0059_amd64.deb" -o "daemonsync_2.2.0.0059_amd64.deb"
|
||||||
$STD dpkg -i daemonsync_2.2.0.0059_amd64.deb
|
$STD dpkg -i daemonsync_2.2.0.0059_amd64.deb
|
||||||
rm -rf daemonsync_2.2.0.0059_amd64.deb
|
|
||||||
msg_ok "Installed Daemon Sync Server"
|
msg_ok "Installed Daemon Sync Server"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf daemonsync_2.2.0.0059_amd64.deb
|
||||||
|
$STD apt-get autoremove >/dev/null
|
||||||
|
$STD apt-get autoclean >/dev/null
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -15,4 +15,10 @@ update_os
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -o "$
|
|||||||
$STD dpkg -i "$libssl"
|
$STD dpkg -i "$libssl"
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get install -y deconz
|
$STD apt-get install -y deconz
|
||||||
rm -rf "$libssl"
|
|
||||||
msg_ok "Installed deConz"
|
msg_ok "Installed deConz"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -50,4 +49,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf "$libssl"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -67,4 +67,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -15,14 +15,14 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt install -y \
|
$STD apt install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
python3-dev \
|
python3-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
nginx \
|
nginx \
|
||||||
redis-server \
|
redis-server \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
procps \
|
procps \
|
||||||
streamlink
|
streamlink
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
setup_uv
|
setup_uv
|
||||||
@@ -39,11 +39,11 @@ $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 default_transaction_isolation TO 'read committed';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
||||||
{
|
{
|
||||||
echo "Dispatcharr Credentials"
|
echo "Dispatcharr Credentials"
|
||||||
echo "Database Name: $DB_NAME"
|
echo "Database Name: $DB_NAME"
|
||||||
echo "Database User: $DB_USER"
|
echo "Database User: $DB_USER"
|
||||||
echo "Database Password: $DB_PASS"
|
echo "Database Password: $DB_PASS"
|
||||||
echo ""
|
echo ""
|
||||||
} >>~/dispatcharr.creds
|
} >>~/dispatcharr.creds
|
||||||
msg_ok "Created PostgreSQL Database"
|
msg_ok "Created PostgreSQL Database"
|
||||||
|
|
||||||
@@ -58,9 +58,9 @@ msg_ok "Installed Python Dependencies"
|
|||||||
|
|
||||||
msg_info "Configuring Dispatcharr"
|
msg_info "Configuring Dispatcharr"
|
||||||
install -d -m 755 \
|
install -d -m 755 \
|
||||||
/data/{logos,recordings,plugins,db} \
|
/data/{logos,recordings,plugins,db} \
|
||||||
/data/uploads/{m3us,epgs} \
|
/data/uploads/{m3us,epgs} \
|
||||||
/data/{m3us,epgs}
|
/data/{m3us,epgs}
|
||||||
chown -R root:root /data
|
chown -R root:root /data
|
||||||
export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
|
export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
|
||||||
export POSTGRES_DB=$DB_NAME
|
export POSTGRES_DB=$DB_NAME
|
||||||
@@ -260,4 +260,9 @@ msg_ok "Created Services"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -69,15 +69,15 @@ fi
|
|||||||
|
|
||||||
read -r -p "${TAB3}Expose Docker TCP socket (insecure) ? [n = No, l = Local only (127.0.0.1), a = All interfaces (0.0.0.0)] <n/l/a>: " socket_choice
|
read -r -p "${TAB3}Expose Docker TCP socket (insecure) ? [n = No, l = Local only (127.0.0.1), a = All interfaces (0.0.0.0)] <n/l/a>: " socket_choice
|
||||||
case "${socket_choice,,}" in
|
case "${socket_choice,,}" in
|
||||||
l)
|
l)
|
||||||
socket="tcp://127.0.0.1:2375"
|
socket="tcp://127.0.0.1:2375"
|
||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
socket="tcp://0.0.0.0:2375"
|
socket="tcp://0.0.0.0:2375"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
socket=""
|
socket=""
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ -n "$socket" ]]; then
|
if [[ -n "$socket" ]]; then
|
||||||
@@ -85,10 +85,10 @@ if [[ -n "$socket" ]]; then
|
|||||||
$STD apt-get install -y jq
|
$STD apt-get install -y jq
|
||||||
|
|
||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
jq --arg sock "$socket" '. + { "hosts": ["unix:///var/run/docker.sock", $sock] }' /etc/docker/daemon.json >"$tmpfile" && mv "$tmpfile" /etc/docker/daemon.json
|
jq --arg sock "$socket" '. + { "hosts": ["unix:///var/run/docker.sock", $sock] }' /etc/docker/daemon.json > "$tmpfile" && mv "$tmpfile" /etc/docker/daemon.json
|
||||||
|
|
||||||
mkdir -p /etc/systemd/system/docker.service.d
|
mkdir -p /etc/systemd/system/docker.service.d
|
||||||
cat <<EOF >/etc/systemd/system/docker.service.d/override.conf
|
cat <<EOF > /etc/systemd/system/docker.service.d/override.conf
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=
|
ExecStart=
|
||||||
ExecStart=/usr/bin/dockerd
|
ExecStart=/usr/bin/dockerd
|
||||||
@@ -107,4 +107,8 @@ fi
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -73,4 +73,8 @@ fi
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -78,4 +78,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -103,9 +103,13 @@ EnvironmentFile=/opt/documenso/.env
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now documenso
|
systemctl enable -q --now documenso
|
||||||
$STD turbo daemon stop
|
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD turbo daemon stop
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -38,10 +38,14 @@ curl -fsSL "https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20in
|
|||||||
echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections
|
echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections
|
||||||
$STD apt-get install ./$FILE -y
|
$STD apt-get install ./$FILE -y
|
||||||
$STD apt install -f
|
$STD apt install -f
|
||||||
rm -rf ~/$FILE
|
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||||
msg_ok "Setup Dolibarr"
|
msg_ok "Setup Dolibarr"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf ~/$FILE
|
||||||
|
$STD apt-get autoremove
|
||||||
|
$STD apt-get autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -45,4 +45,10 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt -y autoremove
|
||||||
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
|
|||||||
@@ -105,4 +105,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -49,4 +49,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -83,4 +83,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -36,4 +36,8 @@ msg_ok "Configured Emby"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ msg_ok "Downloaded EMQX"
|
|||||||
|
|
||||||
msg_info "Installing EMQX"
|
msg_info "Installing EMQX"
|
||||||
$STD apt-get install -y "$DEB_FILE"
|
$STD apt-get install -y "$DEB_FILE"
|
||||||
rm -f "$DEB_FILE"
|
|
||||||
echo "$LATEST_VERSION" >~/.emqx
|
echo "$LATEST_VERSION" >~/.emqx
|
||||||
msg_ok "Installed EMQX"
|
msg_ok "Installed EMQX"
|
||||||
|
|
||||||
@@ -44,5 +43,9 @@ msg_ok "Enabled EMQX service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$DEB_FILE"
|
||||||
|
$STD apt-get autoremove
|
||||||
|
$STD apt-get autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -78,4 +78,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -55,4 +55,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -45,4 +45,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -29,4 +29,8 @@ msg_info "Installed Fhem"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -59,9 +59,13 @@ curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
|
|||||||
$STD unzip -d /opt/fileflows "$temp_file"
|
$STD unzip -d /opt/fileflows "$temp_file"
|
||||||
(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
|
(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
|
||||||
systemctl enable -q --now fileflows
|
systemctl enable -q --now fileflows
|
||||||
rm -f "$temp_file"
|
|
||||||
msg_ok "Setup ${APPLICATION}"
|
msg_ok "Setup ${APPLICATION}"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ tar -xzf "DataImporter-v${IMPORTER_RELEASE}.tar.gz" -C /opt/firefly/dataimporter
|
|||||||
cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env
|
cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env
|
||||||
sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
|
sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
|
||||||
chown -R www-data:www-data /opt/firefly
|
chown -R www-data:www-data /opt/firefly
|
||||||
rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz"
|
|
||||||
msg_ok "Configured Firefly III"
|
msg_ok "Configured Firefly III"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -96,4 +95,9 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -57,4 +57,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -44,4 +44,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -82,4 +82,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -59,4 +59,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -14,11 +14,15 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing FreePBX (Patience)"
|
msg_info "Installing FreePBX (Patience)"
|
||||||
curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh
|
curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh
|
||||||
$STD bash /opt/sng_freepbx_debian_install.sh
|
$STD bash /opt/sng_freepbx_debian_install.sh
|
||||||
rm /opt/sng_freepbx_debian_install.sh
|
|
||||||
msg_ok "Installed FreePBX"
|
msg_ok "Installed FreePBX"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm /opt/sng_freepbx_debian_install.sh
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -72,4 +72,8 @@ msg_ok "Created Service"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
@@ -255,4 +255,8 @@ msg_ok "Configured Services"
|
|||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user