Compare commits

..

No commits in common. "5eaee7d6378cc70ddda98651313dfa3ebb7bceb6" and "ee7b8f7e78a4cc0ef22451de5ebe6af52c22fe4f" have entirely different histories.

13 changed files with 15 additions and 503 deletions

View File

@ -16,13 +16,6 @@ jobs:
contents: write contents: write
pull-requests: write pull-requests: write
steps: steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
@ -136,7 +129,7 @@ jobs:
- name: Create pull request if not exists - name: Create pull request if not exists
if: steps.verify-diff.outputs.changed == 'true' if: steps.verify-diff.outputs.changed == 'true'
env: env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
PR_EXISTS=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number') PR_EXISTS=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
if [ -z "$PR_EXISTS" ]; then if [ -z "$PR_EXISTS" ]; then
@ -146,13 +139,3 @@ jobs:
--base main \ --base main \
--label "$AUTOMATED_PR_LABEL" --label "$AUTOMATED_PR_LABEL"
fi fi
- name: Approve pull request
if: steps.verify-diff.outputs.changed == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
if [ -n "$PR_NUMBER" ]; then
gh pr review $PR_NUMBER --approve
fi

View File

@ -20,32 +20,6 @@ Do not break established syntax in this file, as it is automatically updated by
## 2024-11-21
### Changed
### ✨ New Scripts
- Add new LXC: NextPVR [@MickLesk](https://github.com/MickLesk) ([#391](https://github.com/community-scripts/ProxmoxVE/pull/391))
- Add new LXC: Kimai [@MickLesk](https://github.com/MickLesk) ([#397](https://github.com/community-scripts/ProxmoxVE/pull/397))
### 🚀 Updated Scripts
- Add .env file support for HomeBox [@404invalid-user](https://github.com/404invalid-user) ([#383](https://github.com/community-scripts/ProxmoxVE/pull/383))
- RDTClient Remove .NET 8.0 | Add .NET 9.0 [@MickLesk](https://github.com/MickLesk) ([#413](https://github.com/community-scripts/ProxmoxVE/pull/413))
- Remove old resource message from vaultwarden [@havardthom](https://github.com/havardthom) ([#402](https://github.com/community-scripts/ProxmoxVE/pull/402))
### 🌐 Website
- Add PostInstall Documentation to zigbee2mqtt.json [@MickLesk](https://github.com/MickLesk) ([#411](https://github.com/community-scripts/ProxmoxVE/pull/411))
- Fix incorrect hdd values in json files [@havardthom](https://github.com/havardthom) ([#403](https://github.com/community-scripts/ProxmoxVE/pull/403))
- Website: Add discord link to navbar [@BramSuurdje](https://github.com/BramSuurdje) ([#405](https://github.com/community-scripts/ProxmoxVE/pull/405))
### 🧰 Maintenance
- Use github app in changelog-pr.yml and add auto approval [@havardthom](https://github.com/havardthom) ([#416](https://github.com/community-scripts/ProxmoxVE/pull/416))
## 2024-11-20 ## 2024-11-20
### Changed ### Changed

View File

@ -1,104 +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: MickLesk (Canbiz)
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ __ _ _
/ //_/(_)___ ___ ____ _(_)
/ ,< / / __ `__ \/ __ `/ /
/ /| |/ / / / / / / /_/ / /
/_/ |_/_/_/ /_/ /_/\__,_/_/
EOF
}
header_info
echo -e "Loading..."
APP="Kimai"
var_disk="7"
var_cpu="2"
var_ram="2048"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/kimai ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping Apache2"
systemctl stop apache2
msg_ok "Stopped Apache2"
msg_info "Updating ${APP} to ${RELEASE}"
cp /opt/kimai/.env /opt/.env
rm -rf /opt/kimai
wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv kimai-${RELEASE} /opt/kimai
mv /opt/.env /opt/kimai/.env
cd /opt/kimai
composer install --no-dev --optimize-autoloader &>/dev/null
bin/console kimai:update &>/dev/null
chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
sudo chown -R www-data:www-data /opt/kimai
sudo chmod -R 755 /opt/kimai
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting Apache2"
systemctl start apache2
msg_ok "Started Apache2"
msg_info "Cleaning Up"
rm -rf ${RELEASE}.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}${CL} \n"

View File

@ -1,93 +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: MickLesk (Canbiz)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# Source: https://nextpvr.com/
function header_info {
clear
cat <<"EOF"
_ __ __ ____ _ ______
/ | / /__ _ __/ /_/ __ \ | / / __ \
/ |/ / _ \| |/_/ __/ /_/ / | / / /_/ /
/ /| / __/> </ /_/ ____/| |/ / _, _/
/_/ |_/\___/_/|_|\__/_/ |___/_/ |_|
EOF
}
header_info
echo -e "Loading..."
APP="NextPVR"
var_disk="5"
var_cpu="1"
var_ram="1024"
var_os="debian"
var_version="12"
variables
color
catch_errors
function default_settings() {
CT_TYPE="1"
PW=""
CT_ID=$NEXTID
HN=$NSAPP
DISK_SIZE="$var_disk"
CORE_COUNT="$var_cpu"
RAM_SIZE="$var_ram"
BRG="vmbr0"
NET="dhcp"
GATE=""
APT_CACHER=""
APT_CACHER_IP=""
DISABLEIP6="no"
MTU=""
SD=""
NS=""
MAC=""
VLAN=""
SSH="no"
VERB="no"
echo_default
}
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/nextpvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping ${APP}"
systemctl stop nextpvr-server
msg_ok "Stopped ${APP}"
msg_info "Updating LXC packages"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated LXC packages"
msg_info "Updating ${APP}"
cd /opt
wget -q https://nextpvr.com/nextpvr-helper.deb
dpkg -i nextpvr-helper.deb &>/dev/null
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start nextpvr-server
msg_ok "Started ${APP}"
msg_info "Cleaning Up"
rm -rf /opt/nextpvr-helper.deb
msg_ok "Cleaned"
msg_ok "Updated Successfully"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${APP} Setup should be reachable by going to the following URL.
${BL}http://${IP}:8866${CL} \n"

View File

@ -54,33 +54,17 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/rdtc/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/rdtc/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Stopping ${APP}" msg_info "Updating $APP"
systemctl stop rdtc systemctl stop rdtc
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}"
if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then
apt-get remove --purge -y dotnet-sdk-8.0 &>/dev/null
apt-get install -y dotnet-sdk-9.0 &>/dev/null
fi
mkdir -p rdtc-backup mkdir -p rdtc-backup
cp -R /opt/rdtc/appsettings.json rdtc-backup/ cp -R /opt/rdtc/appsettings.json rdtc-backup/
wget -q https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip wget -q https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip
unzip -oqq RealDebridClient.zip -d /opt/rdtc unzip -oqq RealDebridClient.zip -d /opt/rdtc
cp -R rdtc-backup/appsettings.json /opt/rdtc/ cp -R rdtc-backup/appsettings.json /opt/rdtc/
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start rdtc
msg_ok "Started ${APP}"
msg_info "Cleaning Up"
rm -rf rdtc-backup RealDebridClient.zip rm -rf rdtc-backup RealDebridClient.zip
msg_ok "Cleaned" systemctl start rdtc
msg_ok "Updated Successfully" msg_ok "Updated $APP"
exit exit
} }

View File

@ -53,9 +53,6 @@ function default_settings() {
} }
function update_script() { function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/vaultwarden.service ]]; then if [[ ! -f /etc/systemd/system/vaultwarden.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
@ -74,6 +71,9 @@ function update_script() {
"3" "Set Admin Token" OFF \ "3" "Set Admin Token" OFF \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
header_info
check_container_storage
check_container_resources
if [ "$UPD" == "1" ]; then if [ "$UPD" == "1" ]; then
msg_info "Stopping Vaultwarden" msg_info "Stopping Vaultwarden"
systemctl stop vaultwarden.service systemctl stop vaultwarden.service
@ -101,6 +101,7 @@ function update_script() {
msg_ok "Started Vaultwarden" msg_ok "Started Vaultwarden"
msg_ok "$VAULT Update Successful" msg_ok "$VAULT Update Successful"
echo -e "\n ⚠️ Ensure you set resources back to normal settings \n"
exit exit
fi fi
if [ "$UPD" == "2" ]; then if [ "$UPD" == "2" ]; then

View File

@ -26,12 +26,6 @@ msg_info "Installing Homebox"
RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
chmod +x /opt/homebox chmod +x /opt/homebox
cat <<EOF >/opt/.env
# For possible environment variables check here: https://homebox.software/en/configure-homebox
HBOX_MODE=production
HBOX_WEB_PORT=7745
HBOX_WEB_HOST=0.0.0.0
EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Homebox" msg_ok "Installed Homebox"
@ -44,7 +38,6 @@ After=network.target
[Service] [Service]
WorkingDirectory=/opt WorkingDirectory=/opt
ExecStart=/opt/homebox ExecStart=/opt/homebox
EnvironmentFile=/opt/.env
Restart=on-failure Restart=on-failure
[Install] [Install]

View File

@ -1,107 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 community-scripts ORG
# Author: MickLesk
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
apt-transport-https \
sudo \
mc \
curl \
apache2 \
git \
expect \
composer \
mariadb-server \
libapache2-mod-php \
php8.2-{mbstring,gd,intl,pdo,mysql,tokenizer,zip,xml}
msg_ok "Installed Dependencies"
msg_info "Setting up database"
DB_NAME=kimai_db
DB_USER=kimai
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
MYSQL_VERSION=$(mysql --version | grep -oP 'Distrib \K[0-9]+\.[0-9]+\.[0-9]+')
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 "Kimai-Credentials"
echo "Kimai Database User: $DB_USER"
echo "Kimai Database Password: $DB_PASS"
echo "Kimai Database Name: $DB_NAME"
} >> ~/kimai.creds
msg_ok "Set up database"
msg_info "Installing Kimai (Patience)"
RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv kimai-${RELEASE} /opt/kimai
cd /opt/kimai
echo "export COMPOSER_ALLOW_SUPERUSER=1" >> ~/.bashrc
source ~/.bashrc
$STD composer install --no-dev --optimize-autoloader --no-interaction
cp .env.dist .env
sed -i "/^DATABASE_URL=/c\DATABASE_URL=mysql://$DB_USER:$DB_PASS@127.0.0.1:3306/$DB_NAME?charset=utf8mb4&serverVersion=$MYSQL_VERSION" /opt/kimai/.env
$STD bin/console kimai:install -n
chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
sudo chown -R www-data:www-data /opt/kimai
sudo chmod -R 755 /opt/kimai
$STD expect <<EOF
set timeout -1
log_user 0
spawn bin/console kimai:user:create admin admin@helper-scripts.com ROLE_SUPER_ADMIN
expect "Please enter the password:"
send "helper-scripts.com\r"
expect eof
EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Kimai"
msg_info "Creating Service"
cat <<EOF >/etc/apache2/sites-available/kimai.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /opt/kimai/public/
<Directory /opt/kimai/public>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
EOF
$STD a2ensite kimai.conf
$STD a2dissite 000-default.conf
$STD systemctl reload apache2
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf ${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -1,46 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 communtiy-scripts ORG
# Author: MickLesk (Canbiz)
# 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 (Patience)"
$STD apt-get install -y \
mediainfo \
libmediainfo-dev \
libc6 \
curl \
sudo \
libgdiplus \
acl \
dvb-tools \
libdvbv5-0 \
dtv-scan-tables \
libc6-dev \
ffmpeg \
mc
msg_ok "Installed Dependencies"
msg_info "Setup NextPVR (Patience)"
cd /opt
wget -q https://nextpvr.com/nextpvr-helper.deb
$STD dpkg -i nextpvr-helper.deb
msg_ok "Installed NextPVR"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/nextpvr-helper.deb
$STD apt-get autoremove
$STD apt-get autoclean
msg_ok "Cleaned"

View File

@ -14,10 +14,10 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y curl
mc \ $STD apt-get install -y sudo
curl \ $STD apt-get install -y mc
sudo $STD apt-get install -y unzip
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing ASP.NET Core Runtime" msg_info "Installing ASP.NET Core Runtime"
@ -25,7 +25,7 @@ wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.
$STD dpkg -i packages-microsoft-prod.deb $STD dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb rm packages-microsoft-prod.deb
$STD apt-get update $STD apt-get update
$STD apt-get install -y dotnet-sdk-9.0 $STD apt-get install -y dotnet-sdk-8.0
msg_ok "Installed ASP.NET Core Runtime" msg_ok "Installed ASP.NET Core Runtime"
msg_info "Installing rdtclient" msg_info "Installing rdtclient"

View File

@ -30,10 +30,5 @@
"username": null, "username": null,
"password": null "password": null
}, },
"notes": [ "notes": []
{
"text": "env file location: `/opt/.env`",
"type": "info"
}
]
} }

View File

@ -1,34 +0,0 @@
{
"name": "Kimai",
"slug": "kimai",
"categories": [
0
],
"date_created": "2024-11-20",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": "https://www.kimai.org/documentation/",
"website": "https://www.kimai.org/",
"logo": "https://raw.githubusercontent.com/kimai/images/refs/heads/main/logo-transparent.png",
"description": "Kimai is an open-source time-tracking software designed for freelancers, small teams, and businesses to efficiently track, manage, and analyze work hours. This web-based tool enables users to log their work time with ease, associating entries with specific clients, projects, and tasks.",
"install_methods": [
{
"type": "default",
"script": "/ct/kimai.sh",
"resources": {
"cpu": "2",
"ram": "2048",
"hdd": "7",
"os": "Debian",
"version": 12
}
}
],
"default_credentials": {
"username": "admin@helper-scripts.com",
"password": "helper-scripts.com"
},
"notes": []
}

View File

@ -1,34 +0,0 @@
{
"name": "NextPVR",
"slug": "nextpvr",
"categories": [
17
],
"date_created": "2024-11-20",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8866,
"documentation": "https://github.com/sub3/NextPVR/wiki",
"website": "https://nextpvr.com/",
"logo": null,
"description": "NextPVR is a personal video recorder application for Microsoft Windows, Linux, Mac and Docker. NextPVR makes it easy to watch or record live TV, and provides great features like series recordings, web scheduling, iPhone/iPad client application, Kodi/Emby integration etc.",
"install_methods": [
{
"type": "default",
"script": "/ct/nextpvr.sh",
"resources": {
"cpu": "1",
"ram": "1024",
"hdd": "5",
"os": "Debian",
"version": 12
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}