mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-02-07 08:19:17 +00:00
Compare commits
1 Commits
f21d576875
...
37f0fd2dd0
Author | SHA1 | Date | |
---|---|---|---|
|
37f0fd2dd0 |
21
CHANGELOG.md
21
CHANGELOG.md
@ -16,27 +16,6 @@ All LXC instances created using this repository come pre-installed with Midnight
|
|||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
||||||
|
|
||||||
## 2024-12-02
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
### ✨ New Scripts
|
|
||||||
|
|
||||||
- New Script: Glance [@quantumryuu](https://github.com/quantumryuu) ([#595](https://github.com/community-scripts/ProxmoxVE/pull/595))
|
|
||||||
- New script: SnipeIT LXC [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#538](https://github.com/community-scripts/ProxmoxVE/pull/538))
|
|
||||||
- New Script: Hoarder LXC [@vhsdream](https://github.com/vhsdream) ([#567](https://github.com/community-scripts/ProxmoxVE/pull/567))
|
|
||||||
- New script: Unbound LXC [@wimb0](https://github.com/wimb0) ([#547](https://github.com/community-scripts/ProxmoxVE/pull/547))
|
|
||||||
- New script: Mylar3 LXC [@davalanche](https://github.com/davalanche) ([#554](https://github.com/community-scripts/ProxmoxVE/pull/554))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- Stirling-PDF: replace dependency for v0.35.0 and add check and fix in stirling-pdf.sh [@vhsdream](https://github.com/vhsdream) ([#614](https://github.com/community-scripts/ProxmoxVE/pull/614))
|
|
||||||
- qbittorrent: do not override the configuration port in systemd [@zdraganov](https://github.com/zdraganov) ([#618](https://github.com/community-scripts/ProxmoxVE/pull/618))
|
|
||||||
|
|
||||||
### 🌐 Website
|
|
||||||
|
|
||||||
- Wallos json fix [@quantumryuu](https://github.com/quantumryuu) ([#630](https://github.com/community-scripts/ProxmoxVE/pull/630))
|
|
||||||
|
|
||||||
## 2024-11-30
|
## 2024-11-30
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
99
ct/glance.sh
99
ct/glance.sh
@ -1,99 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
# Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: kristocopani
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
function header_info {
|
|
||||||
clear
|
|
||||||
cat <<"EOF"
|
|
||||||
________
|
|
||||||
/ ____/ /___ _____ ________
|
|
||||||
/ / __/ / __ `/ __ \/ ___/ _ \
|
|
||||||
/ /_/ / / /_/ / / / / /__/ __/
|
|
||||||
\____/_/\__,_/_/ /_/\___/\___/
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
header_info
|
|
||||||
echo -e "Loading..."
|
|
||||||
APP="Glance"
|
|
||||||
var_disk="2"
|
|
||||||
var_cpu="1"
|
|
||||||
var_ram="512"
|
|
||||||
var_os="debian"
|
|
||||||
var_version="12"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function default_settings() {
|
|
||||||
CT_TYPE="1"
|
|
||||||
PW=""
|
|
||||||
CT_ID=$NEXTID
|
|
||||||
HN=$NSAPP
|
|
||||||
DISK_SIZE="$var_disk"
|
|
||||||
CORE_COUNT="$var_cpu"
|
|
||||||
RAM_SIZE="$var_ram"
|
|
||||||
BRG="vmbr0"
|
|
||||||
NET="dhcp"
|
|
||||||
GATE=""
|
|
||||||
APT_CACHER=""
|
|
||||||
APT_CACHER_IP=""
|
|
||||||
DISABLEIP6="no"
|
|
||||||
MTU=""
|
|
||||||
SD=""
|
|
||||||
NS=""
|
|
||||||
MAC=""
|
|
||||||
VLAN=""
|
|
||||||
SSH="no"
|
|
||||||
VERB="no"
|
|
||||||
echo_default
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
|
|
||||||
if [[ ! -f /etc/systemd/system/glance.service ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_info "Stopping Service"
|
|
||||||
systemctl stop glance
|
|
||||||
msg_ok "Stopped Service"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
|
||||||
cd /opt
|
|
||||||
wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz
|
|
||||||
rm -rf /opt/glance/glance
|
|
||||||
tar -xzf glance-linux-amd64.tar.gz -C /opt/glance
|
|
||||||
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
|
||||||
systemctl start glance
|
|
||||||
msg_ok "Started Service"
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /opt/glance-linux-amd64.tar.gz
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
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 "${APP} should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP}:8080${CL} \n"
|
|
106
ct/hoarder.sh
106
ct/hoarder.sh
@ -1,106 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
|
||||||
# Author: MickLesk (Canbiz) & vhsdream
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
function header_info {
|
|
||||||
clear
|
|
||||||
cat <<"EOF"
|
|
||||||
__ __ __
|
|
||||||
/ / / /___ ____ __________/ /__ _____
|
|
||||||
/ /_/ / __ \/ __ `/ ___/ __ / _ \/ ___/
|
|
||||||
/ __ / /_/ / /_/ / / / /_/ / __/ /
|
|
||||||
/_/ /_/\____/\__,_/_/ \__,_/\___/_/
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
header_info
|
|
||||||
echo -e "Loading..."
|
|
||||||
APP="Hoarder"
|
|
||||||
var_disk="8"
|
|
||||||
var_cpu="2"
|
|
||||||
var_ram="4096"
|
|
||||||
var_os="debian"
|
|
||||||
var_version="12"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function default_settings() {
|
|
||||||
CT_TYPE="1"
|
|
||||||
PW=""
|
|
||||||
CT_ID=$NEXTID
|
|
||||||
HN=$NSAPP
|
|
||||||
DISK_SIZE="$var_disk"
|
|
||||||
CORE_COUNT="$var_cpu"
|
|
||||||
RAM_SIZE="$var_ram"
|
|
||||||
BRG="vmbr0"
|
|
||||||
NET="dhcp"
|
|
||||||
GATE=""
|
|
||||||
APT_CACHER=""
|
|
||||||
APT_CACHER_IP=""
|
|
||||||
DISABLEIP6="no"
|
|
||||||
MTU=""
|
|
||||||
SD=""
|
|
||||||
NS=""
|
|
||||||
MAC=""
|
|
||||||
VLAN=""
|
|
||||||
SSH="no"
|
|
||||||
VERB="no"
|
|
||||||
echo_default
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
if [[ ! -d /opt/hoarder ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
PREV_RELEASE=$(cat /opt/${APP}_version.txt)
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
|
|
||||||
msg_info "Stopping Services"
|
|
||||||
systemctl stop hoarder-web hoarder-workers hoarder-browser
|
|
||||||
msg_ok "Stopped Services"
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
|
||||||
cd /opt
|
|
||||||
mv /opt/hoarder/.env /opt/.env
|
|
||||||
rm -rf /opt/hoarder
|
|
||||||
wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv hoarder-${RELEASE} /opt/hoarder
|
|
||||||
cd /opt/hoarder/apps/web
|
|
||||||
pnpm install --frozen-lockfile &>/dev/null
|
|
||||||
pnpm exec next build --experimental-build-mode compile &>/dev/null
|
|
||||||
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
|
|
||||||
cd /opt/hoarder/apps/workers
|
|
||||||
pnpm install --frozen-lockfile &>/dev/null
|
|
||||||
export DATA_DIR=/opt/hoarder_data
|
|
||||||
cd /opt/hoarder/packages/db
|
|
||||||
pnpm migrate &>/dev/null
|
|
||||||
mv /opt/.env /opt/hoarder/.env
|
|
||||||
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /opt/hoarder/.env
|
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting Services"
|
|
||||||
systemctl start hoarder-browser hoarder-workers hoarder-web
|
|
||||||
msg_ok "Started Services"
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -R /opt/v${RELEASE}.zip
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}."
|
|
||||||
fi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
|
||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP}:3000${CL} \n"
|
|
79
ct/mylar3.sh
79
ct/mylar3.sh
@ -1,79 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
# Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: davalanche
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/mylar3/mylar3
|
|
||||||
|
|
||||||
function header_info {
|
|
||||||
clear
|
|
||||||
cat <<"EOF"
|
|
||||||
__ ___ __ _____
|
|
||||||
/ |/ /_ __/ /___ _____|__ /
|
|
||||||
/ /|_/ / / / / / __ `/ ___//_ <
|
|
||||||
/ / / / /_/ / / /_/ / / ___/ /
|
|
||||||
/_/ /_/\__, /_/\__,_/_/ /____/
|
|
||||||
/____/
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
header_info
|
|
||||||
echo -e "Loading..."
|
|
||||||
APP="Mylar3"
|
|
||||||
var_disk="4"
|
|
||||||
var_cpu="1"
|
|
||||||
var_ram="512"
|
|
||||||
var_os="debian"
|
|
||||||
var_version="12"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function default_settings() {
|
|
||||||
CT_TYPE="1"
|
|
||||||
PW=""
|
|
||||||
CT_ID=$NEXTID
|
|
||||||
HN=$NSAPP
|
|
||||||
DISK_SIZE="$var_disk"
|
|
||||||
CORE_COUNT="$var_cpu"
|
|
||||||
RAM_SIZE="$var_ram"
|
|
||||||
BRG="vmbr0"
|
|
||||||
NET="dhcp"
|
|
||||||
GATE=""
|
|
||||||
APT_CACHER=""
|
|
||||||
APT_CACHER_IP=""
|
|
||||||
DISABLEIP6="no"
|
|
||||||
MTU=""
|
|
||||||
SD=""
|
|
||||||
NS=""
|
|
||||||
MAC=""
|
|
||||||
VLAN=""
|
|
||||||
SSH="no"
|
|
||||||
VERB="no"
|
|
||||||
echo_default
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
if [[ ! -d /opt/mylar3 ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name')
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
rm -rf /opt/mylar3/* /opt/mylar3/.*
|
|
||||||
wget -qO- https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz | tar -xz --strip-components=1 -C /opt/mylar3
|
|
||||||
systemctl restart mylar3
|
|
||||||
echo "${RELEASE}" > /opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
|
||||||
${BL}http://${IP}:8090${CL} \n"
|
|
@ -1,94 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
|
|
||||||
#Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: Michel Roegl-Brunner (michelroegl-brunner)
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
function header_info {
|
|
||||||
clear
|
|
||||||
cat <<"EOF"
|
|
||||||
_____ _ __________
|
|
||||||
/ ___/____ (_)___ ___ / _/_ __/
|
|
||||||
\__ \/ __ \/ / __ \/ _ \______ / / / /
|
|
||||||
___/ / / / / / /_/ / __/_____// / / /
|
|
||||||
/____/_/ /_/_/ .___/\___/ /___/ /_/
|
|
||||||
/_/
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
header_info
|
|
||||||
echo -e "Loading..."
|
|
||||||
APP="SnipeIT"
|
|
||||||
|
|
||||||
var_disk="4"
|
|
||||||
var_cpu="2"
|
|
||||||
var_ram="2048"
|
|
||||||
var_os="debian"
|
|
||||||
var_version="12"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function default_settings() {
|
|
||||||
CT_TYPE="1"
|
|
||||||
PW=""
|
|
||||||
CT_ID=$NEXTID
|
|
||||||
HN=$NSAPP
|
|
||||||
DISK_SIZE="$var_disk"
|
|
||||||
CORE_COUNT="$var_cpu"
|
|
||||||
RAM_SIZE="$var_ram"
|
|
||||||
BRG="vmbr0"
|
|
||||||
NET="dhcp"
|
|
||||||
GATE=""
|
|
||||||
APT_CACHER=""
|
|
||||||
APT_CACHER_IP=""
|
|
||||||
DISABLEIP6="no"
|
|
||||||
MTU=""
|
|
||||||
SD=""
|
|
||||||
NS=""
|
|
||||||
MAC=""
|
|
||||||
VLAN=""
|
|
||||||
SSH="no"
|
|
||||||
VERB="no"
|
|
||||||
echo_default
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
if [[ ! -d /opt/snipe-it ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating ${APP} LXC"
|
|
||||||
apt-get update &>/dev/null
|
|
||||||
apt-get -y upgrade &>/dev/null
|
|
||||||
mv /opt/snipe-it /opt/snipe-it-backup
|
|
||||||
cd /opt
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" &>/dev/null
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv snipe-it-${RELEASE} /opt/snipe-it
|
|
||||||
cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
|
|
||||||
cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
|
|
||||||
cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
|
|
||||||
cd /opt/snipe-it/
|
|
||||||
export COMPOSER_ALLOW_SUPERUSER=1
|
|
||||||
composer install --no-dev --prefer-source &>/dev/null
|
|
||||||
composer dump-autoload &>/dev/null
|
|
||||||
php artisan migrate --force &>/dev/null
|
|
||||||
php artisan config:clear &>/dev/null
|
|
||||||
php artisan route:clear &>/dev/null
|
|
||||||
php artisan cache:clear &>/dev/null
|
|
||||||
php artisan view:clear &>/dev/null
|
|
||||||
chown -R www-data: /opt/snipe-it
|
|
||||||
chmod -R 755 /opt/snipe-it
|
|
||||||
rm -rf /opt/v${RELEASE}.zip
|
|
||||||
rm -rf /opt/snipe-it-backup
|
|
||||||
msg_ok "Updated ${APP} LXC"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
|
@ -59,10 +59,6 @@ check_container_resources
|
|||||||
if [[ ! -d /opt/Stirling-PDF ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
if [[ ! -d /opt/Stirling-PDF ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
systemctl stop stirlingpdf
|
systemctl stop stirlingpdf
|
||||||
if [[ -n $(dpkg -l | grep -w ocrmypdf) ]] && [[ -z $(dpkg -l | grep -w qpdf) ]]; then
|
|
||||||
apt-get remove -y ocrmypdf &>/dev/null
|
|
||||||
apt-get install -y qpdf &>/dev/null
|
|
||||||
fi
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -s https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
wget -q https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz
|
wget -q https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz
|
||||||
tar -xzf v$RELEASE.tar.gz
|
tar -xzf v$RELEASE.tar.gz
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
|
||||||
# Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: wimb0
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
function header_info {
|
|
||||||
clear
|
|
||||||
cat <<"EOF"
|
|
||||||
__ __ __ __
|
|
||||||
/ / / /___ / /_ ____ __ ______ ____/ /
|
|
||||||
/ / / / __ \/ __ \/ __ \/ / / / __ \/ __ /
|
|
||||||
/ /_/ / / / / /_/ / /_/ / /_/ / / / / /_/ /
|
|
||||||
\____/_/ /_/_.___/\____/\__,_/_/ /_/\__,_/
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
header_info
|
|
||||||
echo -e "Loading..."
|
|
||||||
APP="Unbound"
|
|
||||||
var_disk="2"
|
|
||||||
var_cpu="1"
|
|
||||||
var_ram="512"
|
|
||||||
var_os="debian"
|
|
||||||
var_version="12"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function default_settings() {
|
|
||||||
CT_TYPE="1"
|
|
||||||
PW=""
|
|
||||||
CT_ID=$NEXTID
|
|
||||||
HN=$NSAPP
|
|
||||||
DISK_SIZE="$var_disk"
|
|
||||||
CORE_COUNT="$var_cpu"
|
|
||||||
RAM_SIZE="$var_ram"
|
|
||||||
BRG="vmbr0"
|
|
||||||
NET="dhcp"
|
|
||||||
GATE=""
|
|
||||||
APT_CACHER=""
|
|
||||||
APT_CACHER_IP=""
|
|
||||||
DISABLEIP6="no"
|
|
||||||
MTU=""
|
|
||||||
SD=""
|
|
||||||
NS=""
|
|
||||||
MAC=""
|
|
||||||
VLAN=""
|
|
||||||
SSH="no"
|
|
||||||
VERB="no"
|
|
||||||
echo_default
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
if [[ ! -d /etc/unbound ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
|
||||||
msg_info "Updating $APP LXC"
|
|
||||||
apt-get update &>/dev/null
|
|
||||||
apt-get -y upgrade &>/dev/null
|
|
||||||
msg_ok "Updated $APP LXC"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
|
||||||
echo -e "${APP} should be online.
|
|
||||||
${BL} Set your DNS server to ${IP}:5335 ${CL} \n"
|
|
@ -1,81 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: kristocopani
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
|
|
||||||
msg_info "Installing Glance"
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
cd /opt
|
|
||||||
wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz
|
|
||||||
mkdir -p /opt/glance
|
|
||||||
tar -xzf glance-linux-amd64.tar.gz -C /opt/glance
|
|
||||||
cat <<EOF >/opt/glance/glance.yml
|
|
||||||
pages:
|
|
||||||
- name: Startpage
|
|
||||||
width: slim
|
|
||||||
hide-desktop-navigation: true
|
|
||||||
center-vertically: true
|
|
||||||
columns:
|
|
||||||
- size: full
|
|
||||||
widgets:
|
|
||||||
- type: search
|
|
||||||
autofocus: true
|
|
||||||
- type: bookmarks
|
|
||||||
groups:
|
|
||||||
- title: General
|
|
||||||
links:
|
|
||||||
- title: Google
|
|
||||||
url: https://www.google.com/
|
|
||||||
- title: Helper Scripts
|
|
||||||
url: https://github.com/community-scripts/ProxmoxVE
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
|
||||||
msg_ok "Installed Glance"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
service_path="/etc/systemd/system/glance.service"
|
|
||||||
echo "[Unit]
|
|
||||||
Description=Glance Daemon
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
WorkingDirectory=/opt/glance
|
|
||||||
ExecStart=/opt/glance/glance --config /opt/glance/glance.yml
|
|
||||||
TimeoutStopSec=20
|
|
||||||
KillMode=process
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target" >$service_path
|
|
||||||
|
|
||||||
systemctl enable -q --now glance.service
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /opt/glance-linux-amd64.tar.gz
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
@ -1,180 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 tteck
|
|
||||||
# Author: MickLesk (Canbiz) & vhsdream
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
g++ \
|
|
||||||
build-essential \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
sudo \
|
|
||||||
gnupg \
|
|
||||||
ca-certificates \
|
|
||||||
chromium \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Additional Tools"
|
|
||||||
wget -q https://github.com/Y2Z/monolith/releases/latest/download/monolith-gnu-linux-x86_64 -O /usr/bin/monolith
|
|
||||||
chmod +x /usr/bin/monolith
|
|
||||||
wget -q https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux -O /usr/bin/yt-dlp
|
|
||||||
chmod +x /usr/bin/yt-dlp
|
|
||||||
msg_ok "Installed Additional Tools"
|
|
||||||
|
|
||||||
msg_info "Installing Meilisearch"
|
|
||||||
cd /tmp
|
|
||||||
wget -q https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb
|
|
||||||
$STD dpkg -i meilisearch.deb
|
|
||||||
wget -q https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -O /etc/meilisearch.toml
|
|
||||||
MASTER_KEY=$(openssl rand -base64 12)
|
|
||||||
sed -i \
|
|
||||||
-e 's|^env =.*|env = "production"|' \
|
|
||||||
-e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \
|
|
||||||
-e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \
|
|
||||||
-e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \
|
|
||||||
-e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \
|
|
||||||
-e 's|^# no_analytics = true|no_analytics = true|' \
|
|
||||||
/etc/meilisearch.toml
|
|
||||||
msg_ok "Installed Meilisearch"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Hoarder"
|
|
||||||
cd /opt
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv hoarder-${RELEASE} /opt/hoarder
|
|
||||||
cd /opt/hoarder
|
|
||||||
corepack enable
|
|
||||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
|
||||||
export NEXT_TELEMETRY_DISABLED=1
|
|
||||||
export CI="true"
|
|
||||||
cd /opt/hoarder/apps/web
|
|
||||||
$STD pnpm install --frozen-lockfile
|
|
||||||
$STD pnpm exec next build --experimental-build-mode compile
|
|
||||||
cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
|
|
||||||
cd /opt/hoarder/apps/workers
|
|
||||||
$STD pnpm install --frozen-lockfile
|
|
||||||
|
|
||||||
export DATA_DIR=/opt/hoarder_data
|
|
||||||
HOARDER_SECRET=$(openssl rand -base64 36 | cut -c1-24)
|
|
||||||
cat <<EOF >/opt/hoarder/.env
|
|
||||||
SERVER_VERSION=$RELEASE
|
|
||||||
NEXTAUTH_SECRET="$HOARDER_SECRET"
|
|
||||||
NEXTAUTH_URL="http://localhost:3000"
|
|
||||||
DATA_DIR="$DATA_DIR"
|
|
||||||
MEILI_ADDR="http://127.0.0.1:7700"
|
|
||||||
MEILI_MASTER_KEY="$MASTER_KEY"
|
|
||||||
BROWSER_WEB_URL="http://127.0.0.1:9222"
|
|
||||||
|
|
||||||
# If you're planning to use OpenAI for tagging. Uncomment the following line:
|
|
||||||
# OPENAI_API_KEY="<API_KEY>"
|
|
||||||
|
|
||||||
# If you're planning to use ollama for tagging, uncomment the following lines:
|
|
||||||
# OLLAMA_BASE_URL="<OLLAMA_ADDR>"
|
|
||||||
|
|
||||||
# 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_IMAGE_MODEL="gpt-4o-mini"
|
|
||||||
EOF
|
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
|
||||||
msg_ok "Installed Hoarder"
|
|
||||||
|
|
||||||
msg_info "Running Database Migration"
|
|
||||||
mkdir -p ${DATA_DIR}
|
|
||||||
cd /opt/hoarder/packages/db
|
|
||||||
$STD pnpm migrate
|
|
||||||
msg_ok "Database Migration Completed"
|
|
||||||
|
|
||||||
msg_info "Creating Services"
|
|
||||||
cat <<EOF >/etc/systemd/system/meilisearch.service
|
|
||||||
[Unit]
|
|
||||||
Description=Meilisearch
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/bin/meilisearch --config-file-path /etc/meilisearch.toml
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/hoarder-web.service
|
|
||||||
[Unit]
|
|
||||||
Description=Hoarder Web
|
|
||||||
Wants=network.target hoarder-workers.service
|
|
||||||
After=network.target hoarder-workers.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=pnpm start
|
|
||||||
WorkingDirectory=/opt/hoarder/apps/web
|
|
||||||
EnvironmentFile=/opt/hoarder/.env
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/hoarder-browser.service
|
|
||||||
[Unit]
|
|
||||||
Description=Hoarder Headless Browser
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=root
|
|
||||||
ExecStart=/usr/bin/chromium --headless --no-sandbox --disable-gpu --disable-dev-shm-usage --remote-debugging-address=127.0.0.1 --remote-debugging-port=9222 --hide-scrollbars
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat <<EOF >/etc/systemd/system/hoarder-workers.service
|
|
||||||
[Unit]
|
|
||||||
Description=Hoarder Workers
|
|
||||||
Wants=network.target hoarder-browser.service meilisearch.service
|
|
||||||
After=network.target hoarder-browser.service meilisearch.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=pnpm start:prod
|
|
||||||
WorkingDirectory=/opt/hoarder/apps/workers
|
|
||||||
EnvironmentFile=/opt/hoarder/.env
|
|
||||||
Restart=always
|
|
||||||
TimeoutStopSec=5
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
|
|
||||||
systemctl -q enable --now meilisearch.service hoarder-browser.service hoarder-workers.service hoarder-web.service
|
|
||||||
msg_ok "Created Services"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /tmp/meilisearch.deb
|
|
||||||
rm -f /opt/v${RELEASE}.zip
|
|
||||||
$STD apt-get autoremove -y
|
|
||||||
$STD apt-get autoclean -y
|
|
||||||
msg_ok "Cleaned"
|
|
@ -1,68 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: davalanche
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/mylar3/mylar3
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
curl \
|
|
||||||
sudo \
|
|
||||||
mc \
|
|
||||||
jq
|
|
||||||
echo "deb http://deb.debian.org/debian bookworm non-free non-free-firmware" > /etc/apt/sources.list.d/non-free.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y unrar
|
|
||||||
rm /etc/apt/sources.list.d/non-free.list
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Updating Python3"
|
|
||||||
$STD apt-get install -y python3-pip
|
|
||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
|
||||||
$STD pip install -U --no-cache-dir pip
|
|
||||||
msg_ok "Updated Python3"
|
|
||||||
|
|
||||||
msg_info "Installing ${APPLICATION}"
|
|
||||||
mkdir -p /opt/mylar3
|
|
||||||
mkdir -p /opt/mylar3-data
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name')
|
|
||||||
wget -qO- https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz | tar -xz --strip-components=1 -C /opt/mylar3
|
|
||||||
$STD pip install --no-cache-dir -r /opt/mylar3/requirements.txt
|
|
||||||
echo "${RELEASE}" > /opt/${APPLICATION}_version.txt
|
|
||||||
msg_ok "Installed ${APPLICATION}"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/mylar3.service
|
|
||||||
[Unit]
|
|
||||||
Description=Mylar3 Service
|
|
||||||
After=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/bin/python3 /opt/mylar3/Mylar.py --daemon --nolaunch --datadir=/opt/mylar3-data
|
|
||||||
GuessMainPID=no
|
|
||||||
Type=forking
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now mylar3.service
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
@ -37,7 +37,7 @@ cat <<EOF >/etc/systemd/system/qbittorrent-nox.service
|
|||||||
Description=qBittorrent client
|
Description=qBittorrent client
|
||||||
After=network.target
|
After=network.target
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/qbittorrent-nox
|
ExecStart=/usr/bin/qbittorrent-nox --webui-port=8090
|
||||||
Restart=always
|
Restart=always
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@ -1,107 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
|
|
||||||
#Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: Michel Roegl-Brunner (michelroegl-brunner)
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
|
|
||||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
curl \
|
|
||||||
composer \
|
|
||||||
git \
|
|
||||||
sudo \
|
|
||||||
mc \
|
|
||||||
nginx \
|
|
||||||
php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli} \
|
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up database"
|
|
||||||
DB_NAME=snipeit_db
|
|
||||||
DB_USER=snipeit
|
|
||||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
|
||||||
mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|
||||||
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
|
||||||
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
|
||||||
{
|
|
||||||
echo "SnipeIT-Credentials"
|
|
||||||
echo "SnipeIT Database User: $DB_USER"
|
|
||||||
echo "SnipeIT Database Password: $DB_PASS"
|
|
||||||
echo "SnipeIT Database Name: $DB_NAME"
|
|
||||||
} >> ~/snipeit.creds
|
|
||||||
msg_ok "Set up database"
|
|
||||||
|
|
||||||
msg_info "Installing Snipe-IT"
|
|
||||||
cd /opt
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip"
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv snipe-it-${RELEASE} /opt/snipe-it
|
|
||||||
|
|
||||||
cd /opt/snipe-it
|
|
||||||
cp .env.example .env
|
|
||||||
IPADDRESS=$(hostname -I | awk '{print $1}')
|
|
||||||
|
|
||||||
sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
|
|
||||||
-e "s|^DB_DATABASE=.*|DB_DATABASE=$DB_NAME|" \
|
|
||||||
-e "s|^DB_USERNAME=.*|DB_USERNAME=$DB_USER|" \
|
|
||||||
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=$DB_PASS|" .env
|
|
||||||
|
|
||||||
chown -R www-data: /opt/snipe-it
|
|
||||||
chmod -R 755 /opt/snipe-it
|
|
||||||
|
|
||||||
|
|
||||||
export COMPOSER_ALLOW_SUPERUSER=1
|
|
||||||
$STD composer update --no-plugins --no-scripts
|
|
||||||
$STD composer install --no-dev --prefer-source --no-plugins --no-scripts
|
|
||||||
|
|
||||||
$STD php artisan key:generate --force
|
|
||||||
msg_ok "Installed SnipeIT"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
|
|
||||||
cat <<EOF >/etc/nginx/conf.d/snipeit.conf
|
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
root /opt/snipe-it/public;
|
|
||||||
server_name $IPADDRESS;
|
|
||||||
index index.php;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files \$uri \$uri/ /index.php?\$query_string;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ \.php\$ {
|
|
||||||
include fastcgi.conf;
|
|
||||||
include snippets/fastcgi-php.conf;
|
|
||||||
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
|
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.+)\$;
|
|
||||||
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
systemctl reload nginx
|
|
||||||
msg_ok "Configured Service"
|
|
||||||
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
rm -rf /opt/v${RELEASE}.zip
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
@ -28,7 +28,7 @@ $STD apt-get install -y \
|
|||||||
make \
|
make \
|
||||||
g++ \
|
g++ \
|
||||||
unpaper \
|
unpaper \
|
||||||
qpdf \
|
ocrmypdf \
|
||||||
poppler-utils
|
poppler-utils
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
@ -1,94 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2024 community-scripts ORG
|
|
||||||
# Author: wimb0
|
|
||||||
# License: MIT
|
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
|
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
sudo \
|
|
||||||
curl \
|
|
||||||
mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Unbound"
|
|
||||||
$STD apt-get install -y \
|
|
||||||
unbound \
|
|
||||||
unbound-host
|
|
||||||
msg_info "Installed Unbound"
|
|
||||||
|
|
||||||
cat <<EOF >/etc/unbound/unbound.conf.d/unbound.conf
|
|
||||||
server:
|
|
||||||
interface: 0.0.0.0
|
|
||||||
port: 5335
|
|
||||||
do-ip6: no
|
|
||||||
hide-identity: yes
|
|
||||||
hide-version: yes
|
|
||||||
harden-referral-path: yes
|
|
||||||
cache-min-ttl: 300
|
|
||||||
cache-max-ttl: 14400
|
|
||||||
serve-expired: yes
|
|
||||||
serve-expired-ttl: 3600
|
|
||||||
prefetch: yes
|
|
||||||
prefetch-key: yes
|
|
||||||
target-fetch-policy: "3 2 1 1 1"
|
|
||||||
unwanted-reply-threshold: 10000000
|
|
||||||
rrset-cache-size: 256m
|
|
||||||
msg-cache-size: 128m
|
|
||||||
so-rcvbuf: 1m
|
|
||||||
private-address: 192.168.0.0/16
|
|
||||||
private-address: 169.254.0.0/16
|
|
||||||
private-address: 172.16.0.0/12
|
|
||||||
private-address: 10.0.0.0/8
|
|
||||||
private-address: fd00::/8
|
|
||||||
private-address: fe80::/10
|
|
||||||
access-control: 192.168.0.0/16 allow
|
|
||||||
access-control: 172.16.0.0/12 allow
|
|
||||||
access-control: 10.0.0.0/8 allow
|
|
||||||
access-control: 127.0.0.1/32 allow
|
|
||||||
chroot: ""
|
|
||||||
logfile: /var/log/unbound.log
|
|
||||||
EOF
|
|
||||||
|
|
||||||
touch /var/log/unbound.log
|
|
||||||
chown unbound:unbound /var/log/unbound.log
|
|
||||||
|
|
||||||
systemctl restart unbound
|
|
||||||
msg_ok "Installed Unbound"
|
|
||||||
|
|
||||||
msg_ok "Configuring Logrotate"
|
|
||||||
cat <<EOF >/etc/logrotate.d/unbound
|
|
||||||
/var/log/unbound.log {
|
|
||||||
daily
|
|
||||||
rotate 7
|
|
||||||
missingok
|
|
||||||
notifempty
|
|
||||||
compress
|
|
||||||
delaycompress
|
|
||||||
sharedscripts
|
|
||||||
create 644
|
|
||||||
postrotate
|
|
||||||
/usr/sbin/unbound-control log_reopen
|
|
||||||
endscript
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
systemctl restart logrotate
|
|
||||||
msg_ok "Configured Logrotate"
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleaned"
|
|
@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Glance",
|
|
||||||
"slug": "glance",
|
|
||||||
"categories": [
|
|
||||||
15
|
|
||||||
],
|
|
||||||
"date_created": "2024-11-29",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 8080,
|
|
||||||
"documentation": "https://github.com/glanceapp/glance/blob/main/docs/configuration.md",
|
|
||||||
"website": "https://github.com/glanceapp/glance",
|
|
||||||
"logo": "https://github.com/glanceapp/glance/blob/main/internal/assets/static/app-icon.png?raw=true",
|
|
||||||
"description": "A self-hosted dashboard that puts all your feeds in one place",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "/ct/glance.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 1,
|
|
||||||
"ram": 512,
|
|
||||||
"hdd": 2,
|
|
||||||
"os": "Debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "Config file is located in /opt/glance/glance.yml",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Hoarder",
|
|
||||||
"slug": "hoarder",
|
|
||||||
"categories": [
|
|
||||||
14
|
|
||||||
],
|
|
||||||
"date_created": "2024-11-28",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": 3000,
|
|
||||||
"documentation": "https://docs.hoarder.app/",
|
|
||||||
"website": "https://hoarder.app/",
|
|
||||||
"logo": "https://raw.githubusercontent.com/hoarder-app/hoarder/refs/heads/main/screenshots/logo.png",
|
|
||||||
"description": "Hoarder is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, Hoarder is the perfect tool for anyone who wants to keep track of their digital life.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "/ct/hoarder.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": 2,
|
|
||||||
"ram": 4096,
|
|
||||||
"hdd": 8,
|
|
||||||
"os": "Debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": []
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Mylar3",
|
|
||||||
"slug": "mylar3",
|
|
||||||
"categories": [
|
|
||||||
12
|
|
||||||
],
|
|
||||||
"date_created": "2024-11-27",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": "8090",
|
|
||||||
"documentation": "https://mylarcomics.com/docs/introduction/",
|
|
||||||
"website": "https://mylarcomics.com/",
|
|
||||||
"logo": "https://mylarcomics.com/img/mylarlogo.png",
|
|
||||||
"description": "Mylar is an automated Comic Book (cbr/cbz) downloader program for use with NZB and torrents.\r\nMylar allows you to create a watchlist of series that it monitors for various things (new issues, updated information, etc). It will grab, sort, and rename downloaded issues. It will also allow you to monitor weekly pull-lists for items belonging to said watchlisted series to download, as well as being able to monitor and maintain story-arcs.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/mylar3.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": "1",
|
|
||||||
"ram": "512",
|
|
||||||
"hdd": "4",
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": []
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "SnipeIT",
|
|
||||||
"slug": "snipeit",
|
|
||||||
"categories": [
|
|
||||||
8
|
|
||||||
],
|
|
||||||
"date_created": "2024-25-11",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": false,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": null,
|
|
||||||
"documentation": null,
|
|
||||||
"website": "https://snipeitapp.com/",
|
|
||||||
"logo": "https://github.com/snipe/snipe-it/blob/master/public/img/logo.png",
|
|
||||||
"description": "This is a FOSS project for asset management in IT Operations. Knowing who has which laptop, when it was purchased in order to depreciate it correctly, handling software licenses, etc.",
|
|
||||||
"install_methods":{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/snipeit.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": "2",
|
|
||||||
"ram": "2048",
|
|
||||||
"hdd": "4",
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Unbound",
|
|
||||||
"slug": "unbound",
|
|
||||||
"categories": [
|
|
||||||
13
|
|
||||||
],
|
|
||||||
"date_created": "2024-11-27",
|
|
||||||
"type": "ct",
|
|
||||||
"updateable": true,
|
|
||||||
"privileged": false,
|
|
||||||
"interface_port": "5335",
|
|
||||||
"documentation": null,
|
|
||||||
"website": "https://www.nlnetlabs.nl/projects/unbound/about/",
|
|
||||||
"logo": "https://nlnetlabs.nl/static/logos/Unbound/Unbound_FC_Shaded_cropped.svg",
|
|
||||||
"description": "Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards.",
|
|
||||||
"install_methods": [
|
|
||||||
{
|
|
||||||
"type": "default",
|
|
||||||
"script": "ct/unbound.sh",
|
|
||||||
"resources": {
|
|
||||||
"cpu": "1",
|
|
||||||
"ram": "512",
|
|
||||||
"hdd": "2",
|
|
||||||
"os": "debian",
|
|
||||||
"version": "12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"default_credentials": {
|
|
||||||
"username": null,
|
|
||||||
"password": null
|
|
||||||
},
|
|
||||||
"notes": [
|
|
||||||
{
|
|
||||||
"text": "Unbound Configuration Path: `/etc/unbound/unbound.conf.d/unbound.conf`",
|
|
||||||
"type": "info"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -8,9 +8,9 @@
|
|||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 80,
|
"interface_port": null,
|
||||||
"documentation": "https://github.com/ellite/wallos",
|
"documentation": null,
|
||||||
"website": "https://wallosapp.com/",
|
"website": null,
|
||||||
"logo": "https://raw.githubusercontent.com/ellite/Wallos/refs/heads/main/images/icon/android-chrome-192x192.png",
|
"logo": "https://raw.githubusercontent.com/ellite/Wallos/refs/heads/main/images/icon/android-chrome-192x192.png",
|
||||||
"description": "Wallos is a personal finance and budgeting tool that provides an intuitive interface for tracking expenses, managing subscriptions, and monitoring financial health. It features APIs for categories, notifications, payments, and user settings, making it suitable for automation and custom integrations. Additionally, it supports multi-language functionality.",
|
"description": "Wallos is a personal finance and budgeting tool that provides an intuitive interface for tracking expenses, managing subscriptions, and monitoring financial health. It features APIs for categories, notifications, payments, and user settings, making it suitable for automation and custom integrations. Additionally, it supports multi-language functionality.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
@ -21,7 +21,7 @@
|
|||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 1024,
|
"ram": 1024,
|
||||||
"hdd": 5,
|
"hdd": 5,
|
||||||
"os": "Debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user