| Server IP : 104.129.129.72 / Your IP : 216.73.216.229 Web Server : LiteSpeed System : Linux 123answers 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64 User : answe8064 ( 1002) PHP Version : 8.2.28 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /opt/installer/apps/ |
Upload File : |
#!/bin/bash
if [ -f "include/startup.sh" ]; then
. include/startup.sh
elif [ -f "../include/startup.sh" ]; then
. ../include/startup.sh
fi
checkTagExist ssl-ready.success
rootDir=$(rootDir)
minioConfigFile=/minio/.minio.sys/config/config.json
certsLetsencrypt=/etc/letsencrypt/live/${CWM_DISPLAYED_ADDRESS}
certsMinio=/etc/minio/certs
certsUpdateService=/opt/update-certs.sh
echo "Adding Minio user" | log
useradd --system minio-user --shell /sbin/nologin
echo "Download Minio Binary" | log
cd $rootDir/temp
#curlDownload https://dl.minio.io/server/minio/release/linux-amd64/minio
curl --insecure --remote-name --fail --location --write-out %{http_code} --max-redirs 3 --retry 3 --retry-connrefused --retry-delay 15 --speed-time 300 --speed-limit 1000 --url https://dl.minio.io/server/minio/release/linux-amd64/minio
waitOrStop 0 "File not downloaded from official source"
echo "Install minio binary" | log
mv $rootDir/temp/minio /usr/local/bin
chmod +x /usr/local/bin/minio
chown minio-user:minio-user /usr/local/bin/minio
echo "Creating Configs" | log
mkdir /minio
mkdir /etc/minio
chown minio-user:minio-user /minio
chown minio-user:minio-user /etc/minio
echo "MINIO_VOLUMES=\"/minio/\"" >> /etc/default/minio
ips=$(getServerIPAll)
echo "MINIO_PUBLIC_IPS=${ips// /,}" >> /etc/default/minio
echo "MINIO_OPTS=\"-C /etc/minio --certs-dir $certsMinio --address :443 --console-address :6725\"" >> /etc/default/minio
# echo "MINIO_DOMAIN=${CWM_DISPLAYED_ADDRESS}" >> /etc/default/minio
setcap 'cap_net_bind_service=+ep' /usr/local/bin/minio
echo "Adding console port to UFW" | log
ufw allow 9001
ufw allow 9000
echo "Adding Systemd Service" | log
# curlDownload https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
# waitOrStop 0 "File not downloaded from github"
# mv minio.service /etc/systemd/system
cp $rootDir/tweaks/extras/minio/minio.service /etc/systemd/system
waitOrStop 0 "copy minio.service failed"
echo "Generating certificates" | log
mkdir -p $certsMinio/
cp ${certsLetsencrypt}/fullchain.pem ${certsMinio}/public.crt
cp ${certsLetsencrypt}/privkey.pem ${certsMinio}/private.key
chown -R minio-user:minio-user $certsMinio
cat << EOF > ${certsUpdateService}
certbot -q renew
cp ${certsLetsencrypt}/fullchain.pem ${certsMinio}/public.crt
cp ${certsLetsencrypt}/privkey.pem ${certsMinio}/private.key
chown -R minio-user:minio-user $certsMinio
EOF
chmod +x ${certsUpdateService}
backupFile /lib/systemd/system/certbot.service
sed -i '\|ExecStart|s|-q renew|-q renew --post-hook "/bin/bash '${certsUpdateService}'"|' /lib/systemd/system/certbot.service
systemctl daemon-reload
echo "Starting Minio service" | log
systemctl enable minio.service
systemctl start minio.service
waitOrStop 0 "Minio Service did not start"
sleep 5
echo "Adding descriptions" | log
installPackage jq
waitOrStop 0 "Failed apt install: jq"
access_key=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 16 ; echo '')
secret_key=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 16 ; echo '')
sed -i 's/minioadmin/'"${access_key}"'/' $minioConfigFile
sed -i 's/minioadmin/'"${secret_key}"'/' $minioConfigFile
# access_key=$(jq '.credentials._[]|select(.key == "access_key").value' ${minioConfigFile} | tr -d '"')
# secret_key=$(jq '.credentials._[]|select(.key == "secret_key").value' ${minioConfigFile} | tr -d '"')
sed -i 's/ACCESS_KEY_HERE/'"${access_key}"'/' /etc/systemd/system/minio.service
sed -i 's/PASSWORD_HERE/'"${secret_key}"'/' /etc/systemd/system/minio.service
sed -i 's/CWM_DOMAIN_HER/'"${CWM_DISPLAYED_ADDRESS}"'/' /etc/systemd/system/minio.service
sed -i 's/CWM_DOMAIN_HER/'"${CWM_DISPLAYED_ADDRESS}"'/' /etc/systemd/system/minio.service
systemctl daemon-reload
systemctl restart minio.service
ufw allow from any to any
ufw --force enable
waitOrStop 0 "Minio service did not restart"
descriptionAppend "Minio Web UI: http://${CWM_DISPLAYED_ADDRESS}:9000"
descriptionAppend "Minio Access key: $access_key"
descriptionAppend "Minio Secret key: $secret_key"
descriptionAppend " "
tagScript success
exit 0