mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-04 18:32:51 +00:00
Compare commits
74 Commits
2025-06-05
...
2025-06-13
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84469e2b5b | ||
|
|
a164d259e0 | ||
|
|
34aa360920 | ||
|
|
f0dde5a42d | ||
|
|
e0ccc1a0af | ||
|
|
4fa7483d8b | ||
|
|
cd835c6791 | ||
|
|
abf233c94f | ||
|
|
edd4fb3cc2 | ||
|
|
d97620a390 | ||
|
|
c2c5159a2d | ||
|
|
46d9f85f5e | ||
|
|
ba7ec5aa68 | ||
|
|
dd4c556959 | ||
|
|
0e63437154 | ||
|
|
0769320146 | ||
|
|
d6da26c640 | ||
|
|
d9facc0e62 | ||
|
|
31e0b5fae3 | ||
|
|
b0bd2f4804 | ||
|
|
3aefe199f7 | ||
|
|
677008c779 | ||
|
|
b8ba409e5c | ||
|
|
7cf8300b47 | ||
|
|
77fb5ea516 | ||
|
|
e92dfe1b2b | ||
|
|
61bfa16645 | ||
|
|
84c295a10b | ||
|
|
ed834bf424 | ||
|
|
b1f8992933 | ||
|
|
201f7c4651 | ||
|
|
2574e41ee8 | ||
|
|
2aeb7cf79a | ||
|
|
98c277f471 | ||
|
|
78a2201a93 | ||
|
|
2de03f5734 | ||
|
|
c59f9f421c | ||
|
|
598acc2048 | ||
|
|
6e6b279b88 | ||
|
|
943a5f4d8f | ||
|
|
4efa882558 | ||
|
|
eff985ca02 | ||
|
|
ff239ff3cd | ||
|
|
45bb824101 | ||
|
|
1956c8740b | ||
|
|
f6638b095d | ||
|
|
6a1738c52a | ||
|
|
a9e3520df1 | ||
|
|
08230e9089 | ||
|
|
a5c6984087 | ||
|
|
99174cb9c2 | ||
|
|
336e70f059 | ||
|
|
ce8b9aa5b4 | ||
|
|
70d6815d91 | ||
|
|
75273e86b6 | ||
|
|
37a2f6a715 | ||
|
|
4b7c734b9a | ||
|
|
590db0d148 | ||
|
|
50ad6410d5 | ||
|
|
85b80bfb22 | ||
|
|
33e49b7556 | ||
|
|
0a6f7e6426 | ||
|
|
5fd5d78a2a | ||
|
|
ab32878b63 | ||
|
|
ee7090f271 | ||
|
|
df6bd2a68a | ||
|
|
e46e9a3372 | ||
|
|
6c08814cc5 | ||
|
|
4cca5062af | ||
|
|
dc2b585e6b | ||
|
|
cc4f5c4478 | ||
|
|
01ced07bff | ||
|
|
85e13c9ac5 | ||
|
|
1ac4b0c10f |
102
CHANGELOG.md
102
CHANGELOG.md
@@ -14,8 +14,110 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||||
|
|
||||||
|
|
||||||
|
## 2025-06-14
|
||||||
|
|
||||||
|
## 2025-06-13
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Zigbee2MQTT: Fix missing directory [@tremor021](https://github.com/tremor021) ([#5120](https://github.com/community-scripts/ProxmoxVE/pull/5120))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Umbrel OS: Fix bad disk size shown on website [@tremor021](https://github.com/tremor021) ([#5125](https://github.com/community-scripts/ProxmoxVE/pull/5125))
|
||||||
|
|
||||||
|
## 2025-06-12
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Manage my Damn Life ([#5100](https://github.com/community-scripts/ProxmoxVE/pull/5100))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Kasm: Increase Ressources & Hint for Fuse / Swap [@MickLesk](https://github.com/MickLesk) ([#5112](https://github.com/community-scripts/ProxmoxVE/pull/5112))
|
||||||
|
|
||||||
|
## 2025-06-11
|
||||||
|
|
||||||
|
## 2025-06-10
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Element Synapse: switched from development to production mode and fixed update [@Frankmaaan](https://github.com/Frankmaaan) ([#5066](https://github.com/community-scripts/ProxmoxVE/pull/5066))
|
||||||
|
- Tinyauth: Fix creation of service file [@tremor021](https://github.com/tremor021) ([#5090](https://github.com/community-scripts/ProxmoxVE/pull/5090))
|
||||||
|
- Dolibarr: Fix typo in SQL command [@tremor021](https://github.com/tremor021) ([#5091](https://github.com/community-scripts/ProxmoxVE/pull/5091))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 📡 API
|
||||||
|
|
||||||
|
- [core] Prevent API form sending Data when disabled [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5080](https://github.com/community-scripts/ProxmoxVE/pull/5080))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Immich: Update JSON [@vhsdream](https://github.com/vhsdream) ([#5085](https://github.com/community-scripts/ProxmoxVE/pull/5085))
|
||||||
|
|
||||||
|
## 2025-06-09
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Authelia: Fix the URL of the container [@tremor021](https://github.com/tremor021) ([#5064](https://github.com/community-scripts/ProxmoxVE/pull/5064))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- GoMFT: Remove from website temporarily [@tremor021](https://github.com/tremor021) ([#5065](https://github.com/community-scripts/ProxmoxVE/pull/5065))
|
||||||
|
|
||||||
|
## 2025-06-08
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Minarca ([#5058](https://github.com/community-scripts/ProxmoxVE/pull/5058))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- zot: fix missing var (Dev -> Main) [@MickLesk](https://github.com/MickLesk) ([#5056](https://github.com/community-scripts/ProxmoxVE/pull/5056))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- karakeep: Add more configuration defaults [@vhsdream](https://github.com/vhsdream) ([#5054](https://github.com/community-scripts/ProxmoxVE/pull/5054))
|
||||||
|
|
||||||
|
## 2025-06-07
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- alpine-it-tools fix update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5039](https://github.com/community-scripts/ProxmoxVE/pull/5039))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- Fix typo in build.func [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5041](https://github.com/community-scripts/ProxmoxVE/pull/5041))
|
||||||
|
|
||||||
## 2025-06-06
|
## 2025-06-06
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Zot-Registry ([#5016](https://github.com/community-scripts/ProxmoxVE/pull/5016))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- zipline: fix old upload copy from v3 to v4 [@MickLesk](https://github.com/MickLesk) ([#5015](https://github.com/community-scripts/ProxmoxVE/pull/5015))
|
||||||
|
|
||||||
## 2025-06-05
|
## 2025-06-05
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
@@ -21,8 +21,6 @@ catch_errors
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
|
|
||||||
if [ ! -d /usr/share/nginx/html ]; then
|
if [ ! -d /usr/share/nginx/html ]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
|||||||
@@ -22,9 +22,6 @@ catch_errors
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
|
|
||||||
if [ ! -d /opt/rclone ]; then
|
if [ ! -d /opt/rclone ]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -55,4 +55,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}https://YOUR_AUTHELIA_URL${CL}"
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ function update_script() {
|
|||||||
$STD apt-get -y upgrade
|
$STD apt-get -y upgrade
|
||||||
msg_ok "Updated $APP LXC"
|
msg_ok "Updated $APP LXC"
|
||||||
|
|
||||||
if [[ -f /systemd/system/synapse-admin.service ]]; then
|
if [[ -f /etc/systemd/system/synapse-admin.service ]]; then
|
||||||
msg_info "Updating Synapse-Admin"
|
msg_info "Updating Synapse-Admin"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/"${APP}"_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/"${APP}"_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
@@ -58,7 +58,16 @@ function update_script() {
|
|||||||
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
|
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
|
||||||
cd /opt/synapse-admin
|
cd /opt/synapse-admin
|
||||||
|
$STD yarn global add serve
|
||||||
$STD yarn install --ignore-engines
|
$STD yarn install --ignore-engines
|
||||||
|
$STD yarn build
|
||||||
|
mv ./dist ../ && \
|
||||||
|
rm -rf * && \
|
||||||
|
mv ../dist ./
|
||||||
|
if [[ -z $(grep "ExecStart=/usr/local/bin/serve" /etc/systemd/system/synapse-admin.service) ]]; then
|
||||||
|
sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/serve -s dist -l 5173|' /etc/systemd/system/synapse-admin.service
|
||||||
|
systemctl reenable synapse-admin
|
||||||
|
fi
|
||||||
systemctl start synapse-admin
|
systemctl start synapse-admin
|
||||||
echo "${RELEASE}" >/opt/"${APP}"_version.txt
|
echo "${RELEASE}" >/opt/"${APP}"_version.txt
|
||||||
rm -f "$temp_file"
|
rm -f "$temp_file"
|
||||||
|
|||||||
6
ct/headers/managemydamnlife
Normal file
6
ct/headers/managemydamnlife
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ ___ __ ___ ____ __ _ ____
|
||||||
|
/ |/ /___ _____ ____ _____ ____ / |/ /_ __ / __ \____ _____ ___ ____ / / (_) __/__
|
||||||
|
/ /|_/ / __ `/ __ \/ __ `/ __ `/ _ \ / /|_/ / / / / / / / / __ `/ __ `__ \/ __ \ / / / / /_/ _ \
|
||||||
|
/ / / / /_/ / / / / /_/ / /_/ / __/ / / / / /_/ / / /_/ / /_/ / / / / / / / / / / /___/ / __/ __/
|
||||||
|
/_/ /_/\__,_/_/ /_/\__,_/\__, /\___/ /_/ /_/\__, / /_____/\__,_/_/ /_/ /_/_/ /_/ /_____/_/_/ \___/
|
||||||
|
/____/ /____/
|
||||||
6
ct/headers/minarca
Normal file
6
ct/headers/minarca
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ ____
|
||||||
|
/ |/ (_)___ ____ _______________ _
|
||||||
|
/ /|_/ / / __ \/ __ `/ ___/ ___/ __ `/
|
||||||
|
/ / / / / / / / /_/ / / / /__/ /_/ /
|
||||||
|
/_/ /_/_/_/ /_/\__,_/_/ \___/\__,_/
|
||||||
|
|
||||||
6
ct/headers/zot-registry
Normal file
6
ct/headers/zot-registry
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_____ __ ____ _ __
|
||||||
|
/__ / ____ / /_ / __ \___ ____ _(_)____/ /________ __
|
||||||
|
/ / / __ \/ __/_____/ /_/ / _ \/ __ `/ / ___/ __/ ___/ / / /
|
||||||
|
/ /__/ /_/ / /_/_____/ _, _/ __/ /_/ / (__ ) /_/ / / /_/ /
|
||||||
|
/____/\____/\__/ /_/ |_|\___/\__, /_/____/\__/_/ \__, /
|
||||||
|
/____/ /____/
|
||||||
@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="Kasm"
|
APP="Kasm"
|
||||||
var_tags="${var_tags:-os}"
|
var_tags="${var_tags:-os}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-4192}"
|
var_ram="${var_ram:-8192}"
|
||||||
var_disk="${var_disk:-30}"
|
var_disk="${var_disk:-30}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
|
|||||||
78
ct/managemydamnlife.sh
Normal file
78
ct/managemydamnlife.sh
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
#!/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: vhsdream
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/intri-in/manage-my-damn-life-nextjs
|
||||||
|
|
||||||
|
APP="Manage My Damn Life"
|
||||||
|
var_tags="${var_tags:-calendar;tasks}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-6}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
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/mmdl ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/mmdl_version.txt)" ]] || [[ ! -f /opt/mmdl_version.txt ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop mmdl
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
cp /opt/mmdl/.env /opt/mmdl.env
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip"
|
||||||
|
rm -r /opt/mmdl
|
||||||
|
unzip -q v"$RELEASE".zip
|
||||||
|
mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl
|
||||||
|
mv /opt/mmdl.env /opt/mmdl/.env
|
||||||
|
cd /opt/mmdl
|
||||||
|
$STD npm install
|
||||||
|
$STD npm run migrate
|
||||||
|
$STD npm run build
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start mmdl
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -f ~/v"$RELEASE".zip
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
|
||||||
|
# Last Action
|
||||||
|
echo "$RELEASE" >/opt/mmdl_version.txt
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
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}:3000${CL}"
|
||||||
54
ct/minarca.sh
Normal file
54
ct/minarca.sh
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/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: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://minarca.org/en_CA
|
||||||
|
|
||||||
|
APP="Minarca"
|
||||||
|
var_tags="${var_tags:-backup}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-10}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
var_fuse="${var_fuse:-yes}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/minarca-server ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop minarca-server
|
||||||
|
msg_ok "${APP} Stopped"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} LXC"
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get upgrade -y
|
||||||
|
msg_ok "Updated ${APP} LXC"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start minarca-server
|
||||||
|
msg_ok "Restarted ${APP}"
|
||||||
|
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}:8080${CL}"
|
||||||
@@ -41,7 +41,9 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
cp /opt/zipline/.env /opt/
|
cp /opt/zipline/.env /opt/
|
||||||
mkdir -p /opt/zipline-upload
|
mkdir -p /opt/zipline-upload
|
||||||
cp -R /opt/zipline/upload/* /opt/zipline-upload/
|
if [ -d /opt/zipline/upload ] && [ "$(ls -A /opt/zipline/upload)" ]; then
|
||||||
|
cp -R /opt/zipline/upload/* /opt/zipline-upload/
|
||||||
|
fi
|
||||||
curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip")
|
||||||
$STD unzip v"${RELEASE}".zip
|
$STD unzip v"${RELEASE}".zip
|
||||||
rm -R /opt/zipline
|
rm -R /opt/zipline
|
||||||
|
|||||||
59
ct/zot-registry.sh
Normal file
59
ct/zot-registry.sh
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
#!/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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://zotregistry.dev/
|
||||||
|
|
||||||
|
APP="Zot-Registry"
|
||||||
|
var_tags="${var_tags:-registry;oci}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -f /usr/bin/zot ]]; then
|
||||||
|
msg_error "No ${APP} installation found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
|
||||||
|
if [[ ! -f ~/.${APP} ]] || [[ "${RELEASE}" != "$(cat ~/.${APP})" ]]; then
|
||||||
|
msg_info "Stopping Zot service"
|
||||||
|
systemctl stop zot
|
||||||
|
msg_ok "Stopped Zot service"
|
||||||
|
|
||||||
|
msg_info "Updating Zot to ${RELEASE}"
|
||||||
|
curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot
|
||||||
|
chmod +x /usr/bin/zot
|
||||||
|
chown root:root /usr/bin/zot
|
||||||
|
echo "${RELEASE}" >~/.${APP}
|
||||||
|
systemctl restart zot
|
||||||
|
msg_ok "Updated Zot to ${RELEASE}"
|
||||||
|
else
|
||||||
|
msg_ok "Zot is already up to date (${RELEASE})"
|
||||||
|
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}:8080${CL}"
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 9091,
|
"interface_port": 443,
|
||||||
"documentation": "https://www.authelia.com/integration/deployment/bare-metal/",
|
"documentation": "https://www.authelia.com/integration/deployment/bare-metal/",
|
||||||
"website": "https://www.authelia.com/",
|
"website": "https://www.authelia.com/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/authelia.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/authelia.webp",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
],
|
],
|
||||||
"date_created": "2024-05-02",
|
"date_created": "2024-05-02",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": false,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 8096,
|
"interface_port": 8096,
|
||||||
"documentation": "https://emby.media/support/articles/Home.html",
|
"documentation": "https://emby.media/support/articles/Home.html",
|
||||||
|
|||||||
@@ -33,15 +33,15 @@
|
|||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
"text": "During installation, HW-accelerated machine-learning (with OpenVINO) is an available option. This also allows for HW-accelerated transcoding, but it must be enabled in Video Transcoding Settings",
|
"text": "During installation, you will be prompted with the option to install Intel OpenVINO for hardware-accelerated machine-learning. If you opt in, increase your LXC RAM after installation, as OpenVINO is memory-intensive",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "If using OpenVINO HW machine-learning, increase RAM because OpenVINO is memory-intensive",
|
"text": "HW-accelerated video transcoding is supported, but must be enabled in Immich Settings",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`",
|
"text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`, and create the symlink 'upload' in /opt/immich/app & /opt/immich/app/machine-learning to your new upload location",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"script": "ct/kasm.sh",
|
"script": "ct/kasm.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 4096,
|
"ram": 8192,
|
||||||
"hdd": 50,
|
"hdd": 50,
|
||||||
"os": "Debian",
|
"os": "Debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
@@ -36,6 +36,10 @@
|
|||||||
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
||||||
"type": "warning"
|
"type": "warning"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"text": "Kasm needs swap (on Proxmox host) and activated FUSE to be installed successfully!",
|
||||||
|
"type": "warning"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"text": "Show password: `cat ~/kasm.creds`",
|
"text": "Show password: `cat ~/kasm.creds`",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "Lyrion Music Server",
|
"name": "Lyrion Music Server",
|
||||||
"slug": "lyrionmusicserver",
|
"slug": "lyrionmusicserver",
|
||||||
"categories": [
|
"categories": [
|
||||||
9
|
13
|
||||||
],
|
],
|
||||||
"date_created": "2025-06-05",
|
"date_created": "2025-06-05",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
|
|||||||
35
frontend/public/json/managemydamnlife.json
Normal file
35
frontend/public/json/managemydamnlife.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Manage My Damn Life",
|
||||||
|
"slug": "managemydamnlife",
|
||||||
|
"categories": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-12",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3000,
|
||||||
|
"documentation": "https://manage-my-damn-life-nextjs.readthedocs.io/en/latest/",
|
||||||
|
"config_path": "/opt/mmdl/.env",
|
||||||
|
"website": "https://github.com/intri-in/manage-my-damn-life-nextjs",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/manage-my-damn-life.webp",
|
||||||
|
"description": "Manage My Damn Life (MMDL) is a self-hosted front end for managing your CalDAV tasks and calendars.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/managemydamnlife.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 6,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
35
frontend/public/json/minarca.json
Normal file
35
frontend/public/json/minarca.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Minarca",
|
||||||
|
"slug": "minarca",
|
||||||
|
"categories": [
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-08",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://nexus.ikus-soft.com/repository/archive/minarca/6.0.3/doc/index.html",
|
||||||
|
"config_path": "/etc/minarca/minarca-server.conf",
|
||||||
|
"website": "https://minarca.org/en_CA",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/minarca.webp",
|
||||||
|
"description": "Minarca is a self-hosted open source data backup software that allows you to manage your computer and server backups for free from a direct online accessible centralized view of your data with easy retrieval.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/minarca.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 4096,
|
||||||
|
"hdd": 10,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": "admin",
|
||||||
|
"password": "admin123"
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
],
|
],
|
||||||
"date_created": "2024-05-02",
|
"date_created": "2024-05-02",
|
||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": false,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 3000,
|
"interface_port": 3000,
|
||||||
"documentation": "https://stonith404.github.io/pingvin-share/introduction",
|
"documentation": "https://stonith404.github.io/pingvin-share/introduction",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 4096,
|
"ram": 4096,
|
||||||
"hdd": 20,
|
"hdd": 32,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
35
frontend/public/json/zot-registry.json
Normal file
35
frontend/public/json/zot-registry.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Zot Registry",
|
||||||
|
"slug": "zot",
|
||||||
|
"categories": [
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-06",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://zotregistry.dev/docs/intro/",
|
||||||
|
"website": "https://zotregistry.dev/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zot-registry.webp",
|
||||||
|
"config_path": "/etc/zot/config.json",
|
||||||
|
"description": "Zot is a cloud-native OCI image registry focused on extensibility, maintainability, and performance. It supports advanced features such as Web UI, security scanning, authentication via htpasswd and OIDC, and more.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/zot-registry.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 5,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -49,7 +49,7 @@ EOF
|
|||||||
|
|
||||||
sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env
|
sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env
|
||||||
|
|
||||||
cat <<EOF >/etc/init.d/tinyauth
|
cat <<'EOF' >/etc/init.d/tinyauth
|
||||||
#!/sbin/openrc-run
|
#!/sbin/openrc-run
|
||||||
description="Tinyauth Service"
|
description="Tinyauth Service"
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Alpine-Zigbee2MQTT"
|
msg_info "Installing Alpine-Zigbee2MQTT"
|
||||||
|
mkdir -p /root/.z2m /etc/zigbee2mqtt
|
||||||
$STD apk add zigbee2mqtt
|
$STD apk add zigbee2mqtt
|
||||||
mkdir -p /root/.z2m
|
|
||||||
ln -s /etc/zigbee2mqtt/ /root/.z2m
|
ln -s /etc/zigbee2mqtt/ /root/.z2m
|
||||||
chown -R root:root /etc/zigbee2mqtt /root/.z2m
|
chown -R root:root /etc/zigbee2mqtt /root/.z2m
|
||||||
sed -i -e 's/#datadir="\/var\/lib\/zigbee2mqtt"/datadir="\/etc\/zigbee2mqtt"/' -e 's/#command_user="zigbee2mqtt"/command_user="root"/' /etc/conf.d/zigbee2mqtt
|
sed -i -e 's/#datadir="\/var\/lib\/zigbee2mqtt"/datadir="\/etc\/zigbee2mqtt"/' -e 's/#command_user="zigbee2mqtt"/command_user="root"/' /etc/conf.d/zigbee2mqtt
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ install_mariadb
|
|||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
$STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'); flush privileges;"
|
$STD mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$ROOT_PASS'; flush privileges;"
|
||||||
{
|
{
|
||||||
echo "Dolibarr DB Credentials"
|
echo "Dolibarr DB Credentials"
|
||||||
echo "MariaDB Root Password: $ROOT_PASS"
|
echo "MariaDB Root Password: $ROOT_PASS"
|
||||||
|
|||||||
@@ -54,7 +54,12 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/
|
|||||||
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
|
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
|
||||||
cd /opt/synapse-admin
|
cd /opt/synapse-admin
|
||||||
|
$STD yarn global add serve
|
||||||
$STD yarn install --ignore-engines
|
$STD yarn install --ignore-engines
|
||||||
|
$STD yarn build
|
||||||
|
mv ./dist ../ && \
|
||||||
|
rm -rf * && \
|
||||||
|
mv ../dist ./
|
||||||
msg_ok "Installed Element Synapse"
|
msg_ok "Installed Element Synapse"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -67,7 +72,7 @@ Requires=matrix-synapse.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/synapse-admin
|
WorkingDirectory=/opt/synapse-admin
|
||||||
ExecStart=/usr/bin/yarn start --host
|
ExecStart=/usr/local/bin/serve -s dist -l 5173
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ msg_ok "Dependencies Installed"
|
|||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" install_node_and_modules
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
read -r -p "Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt
|
read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
msg_info "Installing OpenVINO dependencies"
|
msg_info "Installing OpenVINO dependencies"
|
||||||
touch ~/.openvino
|
touch ~/.openvino
|
||||||
|
|||||||
@@ -91,10 +91,26 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
|
|||||||
|
|
||||||
# If you're planning to use ollama for tagging, uncomment the following lines:
|
# If you're planning to use ollama for tagging, uncomment the following lines:
|
||||||
# OLLAMA_BASE_URL="<OLLAMA_ADDR>"
|
# OLLAMA_BASE_URL="<OLLAMA_ADDR>"
|
||||||
|
# OLLAMA_KEEP_ALIVE="5m"
|
||||||
|
|
||||||
# You can change the models used by uncommenting the following lines, and changing them according to your needs:
|
# You can change the models used by uncommenting the following lines, and changing them according to your needs:
|
||||||
# INFERENCE_TEXT_MODEL="gpt-4o-mini"
|
# INFERENCE_TEXT_MODEL="gpt-4o-mini"
|
||||||
# INFERENCE_IMAGE_MODEL="gpt-4o-mini"
|
# INFERENCE_IMAGE_MODEL="gpt-4o-mini"
|
||||||
|
|
||||||
|
# Additional inference defaults
|
||||||
|
# INFERENCE_CONTEXT_LENGTH="2048"
|
||||||
|
# INFERENCE_ENABLE_AUTO_TAGGING=true
|
||||||
|
# INFERENCE_ENABLE_AUTO_SUMMARIZATION=false
|
||||||
|
|
||||||
|
# Crawler defaults
|
||||||
|
# CRAWLER_NUM_WORKERS="1"
|
||||||
|
# CRAWLER_DOWNLOAD_BANNER_IMAGE=true
|
||||||
|
# CRAWLER_STORE_SCREENSHOT=true
|
||||||
|
# CRAWLER_FULL_PAGE_SCREENSHOT=false
|
||||||
|
# CRAWLER_FULL_PAGE_ARCHIVE=false
|
||||||
|
# CRAWLER_VIDEO_DOWNLOAD=false
|
||||||
|
# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50"
|
||||||
|
# CRAWLER_ENABLE_ADBLOCKER=true
|
||||||
EOF
|
EOF
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||||
msg_ok "Installed karakeep"
|
msg_ok "Installed karakeep"
|
||||||
|
|||||||
84
install/managemydamnlife-install.sh
Normal file
84
install/managemydamnlife-install.sh
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: vhsdream
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/intri-in/manage-my-damn-life-nextjs
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
NODE_VERSION="20" install_node_and_modules
|
||||||
|
MYSQL_VERSION="8.0" install_mysql
|
||||||
|
|
||||||
|
msg_info "Setting up Database"
|
||||||
|
DB_NAME="mmdl"
|
||||||
|
DB_USER="mmdl"
|
||||||
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
||||||
|
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED by '$DB_PASS';"
|
||||||
|
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
|
{
|
||||||
|
echo "Manage My Damn Life Credentials"
|
||||||
|
echo "Database User: $DB_USER"
|
||||||
|
echo "Database Password: $DB_PASS"
|
||||||
|
echo "Database Name: $DB_NAME"
|
||||||
|
} >>~/mmdl.creds
|
||||||
|
msg_ok "Set up Database"
|
||||||
|
|
||||||
|
msg_info "Installing ${APPLICATION}"
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip"
|
||||||
|
unzip -q v"$RELEASE".zip
|
||||||
|
mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl
|
||||||
|
cp /opt/mmdl/sample.env.local /opt/mmdl/.env
|
||||||
|
|
||||||
|
sed -i -e 's|db|localhost|' \
|
||||||
|
-e "s|myuser|${DB_USER}|" \
|
||||||
|
-e "s|mypassword|${DB_PASS}|" \
|
||||||
|
-e 's|5433|3306|' \
|
||||||
|
-e 's|DB_DIALECT=postgres|DB_DIALECT=mysql|' \
|
||||||
|
-e "s|sample_install_mmdm|${DB_NAME}|" \
|
||||||
|
-e "s|=PASSWORD|=$(openssl rand -base64 40 | tr -dc 'a-zA-Z0-9' | head -c40)|" \
|
||||||
|
/opt/mmdl/.env
|
||||||
|
|
||||||
|
cd /opt/mmdl
|
||||||
|
export NEXT_TELEMETRY_DISABLE=1
|
||||||
|
export CI="true"
|
||||||
|
$STD npm install
|
||||||
|
$STD npm run migrate
|
||||||
|
$STD npm run build
|
||||||
|
echo "${RELEASE}" >/opt/mmdl_version.txt
|
||||||
|
msg_ok "Installed ${APPLICATION}"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/mmdl.service
|
||||||
|
[Unit]
|
||||||
|
Description=${APPLICATION} Service
|
||||||
|
After=network.target mysql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/mmdl
|
||||||
|
EnvironmentFile=/opt/mmdl/.env
|
||||||
|
ExecStart=/usr/bin/npm run start
|
||||||
|
Restart=on-abnormal
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now mmdl
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f ~/v${RELEASE}.zip
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
36
install/minarca-install.sh
Normal file
36
install/minarca-install.sh
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://minarca.org/en_CA
|
||||||
|
|
||||||
|
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 \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
lsb-release
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
msg_info "Installing Minarca"
|
||||||
|
curl -fsSL https://www.ikus-soft.com/archive/minarca/public.key | gpg --dearmor >/usr/share/keyrings/minarca-keyring.gpg
|
||||||
|
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/minarca-keyring.gpg] https://nexus.ikus-soft.com/repository/apt-release-$(lsb_release -sc)/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/minarca.list
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get install -y minarca-server
|
||||||
|
msg_ok "Installed Minarca"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
@@ -78,6 +78,7 @@ msg_ok "Created Service"
|
|||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
|
rm -f /opt/v${RELEASE}.zip
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get -y autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|||||||
65
install/zot-registry-install.sh
Normal file
65
install/zot-registry-install.sh
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://zotregistry.dev/
|
||||||
|
|
||||||
|
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 apache2-utils
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
msg_info "Installing Zot Registry"
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot
|
||||||
|
chmod +x /usr/bin/zot
|
||||||
|
chown root:root /usr/bin/zot
|
||||||
|
mkdir -p /etc/zot
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/project-zot/zot/refs/heads/main/examples/config-ui.json -o /etc/zot/config.json
|
||||||
|
ZOTPASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
$STD htpasswd -b -B -c /etc/zot/htpasswd admin "$ZOTPASSWORD"
|
||||||
|
{
|
||||||
|
echo "Zot-Credentials"
|
||||||
|
echo "Zot User: admin"
|
||||||
|
echo "Zot Password: $ZOTPASSWORD"
|
||||||
|
} >>~/zot.creds
|
||||||
|
echo "${RELEASE}" >~/.${APPLICATION}
|
||||||
|
msg_ok "Installed Zot Registry"
|
||||||
|
|
||||||
|
msg_info "Setup Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/zot.service
|
||||||
|
[Unit]
|
||||||
|
Description=OCI Distribution Registry
|
||||||
|
Documentation=https://zotregistry.dev/
|
||||||
|
After=network.target auditd.service local-fs.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/zot serve /etc/zot/config.json
|
||||||
|
Restart=on-failure
|
||||||
|
User=root
|
||||||
|
LimitNOFILE=500000
|
||||||
|
MemoryHigh=2G
|
||||||
|
MemoryMax=4G
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now zot
|
||||||
|
msg_ok "Setup Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
@@ -39,9 +39,11 @@ post_to_api() {
|
|||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
|
if [[ "$DIAGNOSTICS" == "yes" ]]; then
|
||||||
|
RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "$JSON_PAYLOAD") || true
|
-d "$JSON_PAYLOAD") || true
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
post_to_api_vm() {
|
post_to_api_vm() {
|
||||||
@@ -87,9 +89,11 @@ post_to_api_vm() {
|
|||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
|
if [[ "$DIAGNOSTICS" == "yes" ]]; then
|
||||||
|
RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "$JSON_PAYLOAD") || true
|
-d "$JSON_PAYLOAD") || true
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
POST_UPDATE_DONE=false
|
POST_UPDATE_DONE=false
|
||||||
@@ -115,9 +119,11 @@ post_update_to_api() {
|
|||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
|
if [[ "$DIAGNOSTICS" == "yes" ]]; then
|
||||||
|
RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "$JSON_PAYLOAD") || true
|
-d "$JSON_PAYLOAD") || true
|
||||||
|
fi
|
||||||
|
|
||||||
POST_UPDATE_DONE=true
|
POST_UPDATE_DONE=true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -379,7 +379,7 @@ write_config() {
|
|||||||
|
|
||||||
CT_TYPE="${CT_TYPE}"
|
CT_TYPE="${CT_TYPE}"
|
||||||
DISK_SIZE="${DISK_SIZE}"
|
DISK_SIZE="${DISK_SIZE}"
|
||||||
CORE_COUNT="${DISK_SIZE}"
|
CORE_COUNT="${CORE_COUNT}"
|
||||||
RAM_SIZE="${RAM_SIZE}"
|
RAM_SIZE="${RAM_SIZE}"
|
||||||
HN="${HN}"
|
HN="${HN}"
|
||||||
BRG="${BRG}"
|
BRG="${BRG}"
|
||||||
@@ -411,7 +411,7 @@ EOF
|
|||||||
|
|
||||||
CT_TYPE="${CT_TYPE}"
|
CT_TYPE="${CT_TYPE}"
|
||||||
DISK_SIZE="${DISK_SIZE}"
|
DISK_SIZE="${DISK_SIZE}"
|
||||||
CORE_COUNT="${DISK_SIZE}"
|
CORE_COUNT="${CORE_COUNT}"
|
||||||
RAM_SIZE="${RAM_SIZE}"
|
RAM_SIZE="${RAM_SIZE}"
|
||||||
HN="${HN}"
|
HN="${HN}"
|
||||||
BRG="${BRG}"
|
BRG="${BRG}"
|
||||||
@@ -1090,6 +1090,8 @@ build_container() {
|
|||||||
else
|
else
|
||||||
export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)"
|
export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export DIAGNOSTICS="$DIAGNOSTICS"
|
||||||
export RANDOM_UUID="$RANDOM_UUID"
|
export RANDOM_UUID="$RANDOM_UUID"
|
||||||
export CACHER="$APT_CACHER"
|
export CACHER="$APT_CACHER"
|
||||||
export CACHER_IP="$APT_CACHER_IP"
|
export CACHER_IP="$APT_CACHER_IP"
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ error_handler() {
|
|||||||
local command="$2"
|
local command="$2"
|
||||||
local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
|
local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
|
||||||
echo -e "\n$error_message"
|
echo -e "\n$error_message"
|
||||||
if [[ "$line_number" -eq 50 ]]; then
|
if [[ "$line_number" -eq 51 ]]; then
|
||||||
echo -e "The silent function has suppressed the error, run the script with verbose mode enabled, which will provide more detailed output.\n"
|
echo -e "The silent function has suppressed the error, run the script with verbose mode enabled, which will provide more detailed output.\n"
|
||||||
post_update_to_api "failed" "No error message, script ran in silent mode"
|
post_update_to_api "failed" "No error message, script ran in silent mode"
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user