mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-06-30 02:57:38 +00:00
Minio: use latest version or latest feature rich version (#5423)
* minio ref * Improvements * Update minio-install.sh
This commit is contained in:
23
ct/minio.sh
23
ct/minio.sh
@ -27,16 +27,33 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
FEATURE_RICH_VERSION="2025-04-22T22-12-26Z"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
CURRENT_VERSION=""
|
||||
[[ -f /opt/${APP}_version.txt ]] && CURRENT_VERSION=$(cat /opt/${APP}_version.txt)
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}')
|
||||
|
||||
if [[ "${CURRENT_VERSION}" == "${FEATURE_RICH_VERSION}" && "${RELEASE}" != "${FEATURE_RICH_VERSION}" ]]; then
|
||||
echo
|
||||
echo "You are currently running the last feature-rich community version: ${FEATURE_RICH_VERSION}"
|
||||
echo "WARNING: Updating to the latest version will REMOVE most management features from the Console UI."
|
||||
echo "Do you still want to upgrade to the latest version? [y/N]: "
|
||||
read -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
msg_ok "No update performed. Staying on the feature-rich version."
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${CURRENT_VERSION}" != "${RELEASE}" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop minio
|
||||
msg_ok "${APP} Stopped"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
mv /usr/local/bin/minio /usr/local/bin/minio_bak
|
||||
curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio")
|
||||
mv minio /usr/local/bin/
|
||||
curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o /usr/local/bin/minio
|
||||
chmod +x /usr/local/bin/minio
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
@ -13,31 +13,60 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Setup MinIO"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}')
|
||||
curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o /usr/local/bin/minio
|
||||
FEATURE_RICH_VERSION="2025-04-22T22-12-26Z"
|
||||
|
||||
echo
|
||||
echo "MinIO recently removed many management features from the Console UI."
|
||||
echo "The last feature-complete version is: $FEATURE_RICH_VERSION"
|
||||
echo "Latest versions require the paid edition for full UI functionality."
|
||||
echo
|
||||
echo "Choose which version to install:"
|
||||
echo " [N] Feature-rich community version ($FEATURE_RICH_VERSION) [Recommended]"
|
||||
echo " [Y] Latest version (may lack UI features)"
|
||||
echo
|
||||
read -p "Install latest MinIO version? [y/N]: " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
USE_LATEST=true
|
||||
else
|
||||
USE_LATEST=false
|
||||
fi
|
||||
|
||||
msg_info "Setting up MinIO"
|
||||
if [[ "$USE_LATEST" == "true" ]]; then
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}')
|
||||
DOWNLOAD_URL="https://dl.min.io/server/minio/release/linux-amd64/minio"
|
||||
else
|
||||
RELEASE="$FEATURE_RICH_VERSION"
|
||||
DOWNLOAD_URL="https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.${FEATURE_RICH_VERSION}"
|
||||
fi
|
||||
|
||||
curl -fsSL "$DOWNLOAD_URL" -o /usr/local/bin/minio
|
||||
chmod +x /usr/local/bin/minio
|
||||
useradd -r minio-user -s /sbin/nologin
|
||||
mkdir -p /home/minio-user
|
||||
chown minio-user:minio-user /home/minio-user
|
||||
mkdir -p /data
|
||||
chown minio-user:minio-user /data
|
||||
|
||||
MINIO_ADMIN_USER="minioadmin"
|
||||
MINIO_ADMIN_PASSWORD="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||
|
||||
cat <<EOF >/etc/default/minio
|
||||
MINIO_ROOT_USER=${MINIO_ADMIN_USER}
|
||||
MINIO_ROOT_PASSWORD=${MINIO_ADMIN_PASSWORD}
|
||||
EOF
|
||||
|
||||
{
|
||||
echo ""
|
||||
echo "MinIO-Credentials"
|
||||
echo "MinIO Credentials"
|
||||
echo "MinIO Admin User: $MINIO_ADMIN_USER"
|
||||
echo "MinIO Admin Password: $MINIO_ADMIN_PASSWORD"
|
||||
} >>~/minio.creds
|
||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||
echo "${RELEASE}" >/opt/${APPLICATION,,}_version.txt
|
||||
msg_ok "Setup MinIO"
|
||||
|
||||
msg_info "Creating Service"
|
||||
msg_info "Creating service"
|
||||
cat <<EOF >/etc/systemd/system/minio.service
|
||||
[Unit]
|
||||
Description=MinIO
|
||||
@ -57,8 +86,9 @@ LimitNOFILE=65536
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl enable -q --now minio
|
||||
msg_ok "Created Service"
|
||||
msg_ok "Service created"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
@ -66,4 +96,4 @@ customize
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Cleanup complete"
|
||||
|
Reference in New Issue
Block a user