mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-01-10 19:05:09 +00:00
Compare commits
18 Commits
0604b0486b
...
30b48c42ce
Author | SHA1 | Date | |
---|---|---|---|
|
30b48c42ce | ||
|
749e487032 | ||
|
be1821b16f | ||
|
baa578c20a | ||
|
d8f433c94a | ||
|
3ad50eb427 | ||
|
a9bc67fd32 | ||
|
2c24952cd2 | ||
|
9d2ba6739b | ||
|
b24b3d5262 | ||
|
02ca4a75b0 | ||
|
f45262c05a | ||
|
445969bada | ||
|
0085682ed7 | ||
|
695460a471 | ||
|
f2187e9b47 | ||
|
0418f47d0e | ||
|
3a9d55abf4 |
9
.github/workflows/changelog-pr.yml
vendored
9
.github/workflows/changelog-pr.yml
vendored
@ -71,7 +71,9 @@ jobs:
|
||||
});
|
||||
|
||||
pulls.filter((pr) =>
|
||||
pr.merged_at && new Date(pr.merged_at) > latestDateInChangelog
|
||||
pr.merged_at &&
|
||||
new Date(pr.merged_at) > latestDateInChangelog &&
|
||||
!pr.labels.some((label) => ["invalid", "wontdo", process.env.AUTOMATED_PR_LABEL].includes(label.name.toLowerCase()))
|
||||
).forEach((pr) => {
|
||||
const prLabels = pr.labels.map((label) => label.name.toLowerCase());
|
||||
const prNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([#${pr.number}](${pr.html_url}))`;
|
||||
@ -79,12 +81,11 @@ jobs:
|
||||
for (const { labels, notes } of categorizedPRs) {
|
||||
const prHasCategoryLabel = labels.some((label) => prLabels.includes(label));
|
||||
const isUnlabelledCategory = labels.length === 0;
|
||||
const prShouldBeExcluded = prLabels.includes(process.env.AUTOMATED_PR_LABEL);
|
||||
if ((prHasCategoryLabel || isUnlabelledCategory) && !prShouldBeExcluded) {
|
||||
if (prHasCategoryLabel || isUnlabelledCategory) {
|
||||
notes.push(prNote);
|
||||
break;
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
return categorizedPRs;
|
||||
|
@ -20,16 +20,19 @@ Do not break established syntax in this file, as it is automatically updated by
|
||||
|
||||
### Changed
|
||||
|
||||
### 💥 Breaking Changes
|
||||
|
||||
- Removal calibre-server (no Headless Support) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1362](https://github.com/community-scripts/ProxmoxVE/pull/1362))
|
||||
|
||||
### ✨ New Scripts
|
||||
|
||||
- New Script: Prometheus Alertmanager [@andygrunwald](https://github.com/andygrunwald) ([#1272](https://github.com/community-scripts/ProxmoxVE/pull/1272))
|
||||
- New script: ps5-mqtt [@liecno](https://github.com/liecno) ([#1198](https://github.com/community-scripts/ProxmoxVE/pull/1198))
|
||||
- New Script: calibre-server [@ThisIsJeron](https://github.com/ThisIsJeron) ([#960](https://github.com/community-scripts/ProxmoxVE/pull/960))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Fix: AdventureLog: unzip to /opt/ [@JesperDramsch](https://github.com/JesperDramsch) ([#1370](https://github.com/community-scripts/ProxmoxVE/pull/1370))
|
||||
- Fix: Stirling-PDF > LibreOffice/unoconv Integration Issues [@m6urns](https://github.com/m6urns) ([#1322](https://github.com/community-scripts/ProxmoxVE/pull/1322))
|
||||
- Update calibre-server-install.sh [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1359](https://github.com/community-scripts/ProxmoxVE/pull/1359))
|
||||
- Fix: AdventureLog - update script bug [@JesperDramsch](https://github.com/JesperDramsch) ([#1334](https://github.com/community-scripts/ProxmoxVE/pull/1334))
|
||||
- Install/update ActualBudget based on releases, not latest master [@SpyrosRoum](https://github.com/SpyrosRoum) ([#1254](https://github.com/community-scripts/ProxmoxVE/pull/1254))
|
||||
- Fix Checkmk: Version grep broken [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1341](https://github.com/community-scripts/ProxmoxVE/pull/1341))
|
||||
|
@ -42,7 +42,7 @@ function update_script() {
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
||||
wget -qO /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
||||
unzip -q /opt/v${RELEASE}.zip
|
||||
unzip -q /opt/v${RELEASE}.zip -d /opt/
|
||||
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
||||
|
||||
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
||||
|
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: thisisjeron
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://calibre-ebook.com
|
||||
|
||||
# App Default Values
|
||||
APP="Calibre-Server"
|
||||
var_tags="eBook"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_disk="4"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_unprivileged="1"
|
||||
|
||||
# App Output & Base Settings
|
||||
header_info "$APP"
|
||||
base_settings
|
||||
|
||||
# Core
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -f /etc/systemd/system/calibre-server.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop calibre-server
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP} Packages"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
msg_ok "Packages updated"
|
||||
|
||||
msg_info "Updating Calibre (latest)"
|
||||
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin &>/dev/null
|
||||
msg_ok "Updated Calibre"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start calibre-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
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}:8180${CL}"
|
@ -11,8 +11,8 @@ var_tags="cms;blog"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_disk="5"
|
||||
var_os="ubuntu"
|
||||
var_version="22.04"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_unprivileged="1"
|
||||
|
||||
# App Output & Base Settings
|
||||
@ -34,11 +34,11 @@ function update_script() {
|
||||
current_version=$(ghost version | grep 'Ghost-CLI version' | awk '{print $3}')
|
||||
latest_version=$(npm show ghost-cli version)
|
||||
if [ "$current_version" != "$latest_version" ]; then
|
||||
msg_info "Updating ${APP} from version $current_version to $latest_version"
|
||||
msg_info "Updating ${APP} from version v${current_version} to v${latest_version}"
|
||||
npm install -g ghost-cli@latest &> /dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "${APP} is already up-to-date (version $current_version)"
|
||||
msg_ok "${APP} is already at v${current_version}"
|
||||
fi
|
||||
else
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
|
@ -1,62 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2024
|
||||
# Author: thisisjeron
|
||||
# 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 \
|
||||
imagemagick \
|
||||
xvfb \
|
||||
libxcomposite1 \
|
||||
libegl1 \
|
||||
libopengl0 \
|
||||
libxcb-cursor0
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Calibre"
|
||||
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin
|
||||
useradd -c "Calibre Server" -d /opt/calibre -s /bin/bash -m calibre
|
||||
mkdir -p /opt/calibre/calibre-library
|
||||
chown -R calibre:calibre /opt/calibre
|
||||
msg_ok "Installed Calibre"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/calibre-server.service
|
||||
[Unit]
|
||||
Description=Calibre Content Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=calibre
|
||||
Group=calibre
|
||||
ExecStart=/opt/calibre/calibre-server --port=8180 --enable-local-write /opt/calibre/calibre-library
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now calibre-server.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"
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: fabrice1236
|
||||
# License: MIT
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://ghost.org/
|
||||
|
||||
# Import Functions und Setup
|
||||
@ -14,7 +14,7 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
# Install Dependencies
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
curl \
|
||||
@ -26,10 +26,7 @@ $STD apt-get install -y \
|
||||
gnupg
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
# Allow nginx through firewall
|
||||
$STD ufw allow 'Nginx Full'
|
||||
|
||||
# Configure MySQL
|
||||
msg_info "Configuring MySQL"
|
||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||
$STD mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '$DB_PASS';"
|
||||
@ -43,49 +40,40 @@ $STD mysql -u root -p"$DB_PASS" -e "FLUSH PRIVILEGES;"
|
||||
msg_ok "Configured MySQL"
|
||||
|
||||
|
||||
# Set up Node.js Repository
|
||||
msg_info "Setting up Node.js Repository"
|
||||
mkdir -p /etc/apt/keyrings
|
||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
||||
msg_ok "Set up Node.js Repository"
|
||||
|
||||
# Install Node.js (includes npm)
|
||||
msg_info "Installing Node.js and npm"
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y nodejs
|
||||
# $STD apt-get install -y npm
|
||||
msg_ok "Installed Node.js and npm"
|
||||
|
||||
# Install Ghost CLI
|
||||
|
||||
msg_info "Installing Ghost CLI"
|
||||
$STD npm install ghost-cli@latest -g
|
||||
msg_ok "Installed Ghost CLI"
|
||||
|
||||
|
||||
# Create a new user for Ghost
|
||||
msg_info "Creating ghost-user"
|
||||
|
||||
msg_info "Creating Service"
|
||||
$STD adduser --disabled-password --gecos "Ghost user" ghost-user
|
||||
$STD usermod -aG sudo ghost-user
|
||||
echo "ghost-user ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/ghost-user
|
||||
msg_ok "Created ghost-user"
|
||||
|
||||
|
||||
|
||||
# Set up Ghost
|
||||
msg_info "Setting up Ghost"
|
||||
mkdir -p /var/www/ghost
|
||||
chown -R ghost-user:ghost-user /var/www/ghost
|
||||
chmod 775 /var/www/ghost
|
||||
sudo -u ghost-user -H sh -c "cd /var/www/ghost && ghost install --db=mysql --dbhost=localhost --dbuser=root --dbpass=$DB_PASS --dbname=ghost --url=http://localhost:2368 --no-prompt --no-setup-nginx --no-setup-ssl --no-setup-mysql --enable --start --ip 0.0.0.0"
|
||||
rm /etc/sudoers.d/ghost-user #Remove ghost-user for sudoers after setup (not required anymore)
|
||||
msg_ok "Ghost setup completed"
|
||||
rm /etc/sudoers.d/ghost-user
|
||||
msg_ok "Creating Service"
|
||||
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
# Cleanup
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
|
@ -1,43 +0,0 @@
|
||||
{
|
||||
"name": "Calibre-Server",
|
||||
"slug": "calibre-server",
|
||||
"categories": [
|
||||
12
|
||||
],
|
||||
"date_created": "2025-01-09",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8180,
|
||||
"documentation": null,
|
||||
"website": "https://calibre-ebook.com",
|
||||
"logo": "https://calibre-ebook.com/resources/icons/calibre_icon.png",
|
||||
"description": "Calibre content server is used to manage and serve eBooks over the network.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/calibre-server.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "By default, the Calibre Server runs on port 8180 with no username/password.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Use 'calibredb add' from the calibre user or run 'xvfb-run calibredb add ...' if you need to add books while the server is running.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
"categories": [
|
||||
12
|
||||
],
|
||||
"date_created": "2025-01-07",
|
||||
"date_created": "2025-01-09",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
@ -21,8 +21,8 @@
|
||||
"cpu": 2,
|
||||
"ram": 1024,
|
||||
"hdd": 5,
|
||||
"os": "Ubuntu",
|
||||
"version": "22.04"
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
Loading…
Reference in New Issue
Block a user