mirror of
https://github.com/community-scripts/ProxmoxVED.git
synced 2026-02-25 05:57:26 +00:00
Add Piler email archiving support and update scripts
Introduces Piler email archiving with new install and container scripts, and adds metadata for frontend integration. Updates Pixelfed and Postgresus install scripts to improve PHP-FPM pool configuration and streamline build steps.
This commit is contained in:
88
ct/piler.sh
Normal file
88
ct/piler.sh
Normal file
@@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
||||
# Source: https://www.mailpiler.org/
|
||||
|
||||
APP="Piler"
|
||||
var_tags="${var_tags:-email;archive;smtp}"
|
||||
var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_disk="${var_disk:-20}"
|
||||
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 /etc/piler/piler.conf ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE_NEW=$(curl -fsSL https://www.mailpiler.org/download.php | grep -oP 'piler-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1)
|
||||
RELEASE_OLD=$(pilerd -v 2>/dev/null | grep -oP 'version \K[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown")
|
||||
|
||||
if [[ "${RELEASE_NEW}" != "${RELEASE_OLD}" ]]; then
|
||||
msg_info "Stopping Piler Services"
|
||||
$STD systemctl stop piler
|
||||
$STD systemctl stop manticore
|
||||
msg_ok "Stopped Piler Services"
|
||||
|
||||
msg_info "Backing up Configuration"
|
||||
cp /etc/piler/piler.conf /tmp/piler.conf.bak
|
||||
msg_ok "Backed up Configuration"
|
||||
|
||||
msg_info "Updating to v${RELEASE_NEW}"
|
||||
cd /tmp
|
||||
curl -fsSL "https://bitbucket.org/jsuto/piler/downloads/piler-${RELEASE_NEW}.tar.gz" -o piler.tar.gz
|
||||
tar -xzf piler.tar.gz
|
||||
cd "piler-${RELEASE_NEW}"
|
||||
|
||||
$STD ./configure \
|
||||
--localstatedir=/var \
|
||||
--with-database=mysql \
|
||||
--sysconfdir=/etc/piler \
|
||||
--enable-memcached
|
||||
|
||||
$STD make
|
||||
$STD make install
|
||||
$STD ldconfig
|
||||
|
||||
cd /tmp && rm -rf "piler-${RELEASE_NEW}" piler.tar.gz
|
||||
msg_ok "Updated to v${RELEASE_NEW}"
|
||||
|
||||
msg_info "Restoring Configuration"
|
||||
cp /tmp/piler.conf.bak /etc/piler/piler.conf
|
||||
rm -f /tmp/piler.conf.bak
|
||||
chown piler:piler /etc/piler/piler.conf
|
||||
msg_ok "Restored Configuration"
|
||||
|
||||
msg_info "Starting Piler Services"
|
||||
$STD systemctl start manticore
|
||||
$STD systemctl start piler
|
||||
msg_ok "Started Piler Services"
|
||||
msg_ok "Updated Successfully to v${RELEASE_NEW}"
|
||||
else
|
||||
msg_ok "No update available (current: v${RELEASE_OLD})"
|
||||
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}${CL}"
|
||||
Reference in New Issue
Block a user