uploaded app

This commit is contained in:
2026-04-03 00:00:40 -05:00
parent aaa2286866
commit 5a10c7a026
233 changed files with 10856 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
# minio s3
## Features
Auto generate keys on server creation bypassing default minio keys
## Update
Auto update minio to latest version using "update" startup feature
Automatic Key rotation using "rotate" startup feature
## Auto Rotate
It's possible to rotate your keys by changing the startup option to "rotate"
Once this is changed restart your server and it will automatically move your current keys to old and create your new keys
Be sure to change your startup back to "normal" once you have started your server using "rotate". This will ensure that you don't accidentally rotate your keys twice
## Known Issues
Double encryption may occur if you manually manipulate files in the keys directory
### Key rotation is handled automatically, DO NOT manually delete files in keys directory

View File

@@ -0,0 +1,42 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2025-10-02T23:22:38+02:00",
"name": "Minio S3",
"author": "accounts@bofanodes.io",
"description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maximum size of an object is 5TB.",
"features": null,
"docker_images": {
"ghcr.io\/ptero-eggs\/yolks:debian": "ghcr.io\/ptero-eggs\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/minio.sh",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Docs:\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n#\r\napt update\r\napt install -y wget\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\ncd \/mnt\/server\r\nwget https:\/\/dl.min.io\/server\/minio\/release\/linux-${ARCH}\/minio\r\nchmod +x minio\r\nmkdir data\r\nmkdir keys\r\n\r\nwget https:\/\/raw.githubusercontent.com\/Ptero-Eggs\/application-eggs\/main\/minio\/minio.sh\r\nchmod +x minio.sh\r\nexport MINIO_ACCESS_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_ACCESS_KEY > keys\/key.txt\r\nexport MINIO_SECRET_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_SECRET_KEY > keys\/secret.txt\r\necho done",
"container": "ghcr.io\/ptero-eggs\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Startup Type",
"description": "normal,rotate,update",
"env_variable": "STARTUP_TYPE",
"default_value": "normal",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:normal,rotate,update",
"field_type": "text"
}
]
}

View File

@@ -0,0 +1,70 @@
#!/bin/bash
##################################
echo "$(tput setaf 2)Starting up...."
echo "Startup Type: $(tput setaf 2)$STARTUP_TYPE"
if [ -f "keys/key.txt" ]; then
echo "$(tput setaf 2)Key file detected..."
export MINIO_ROOT_USER=`cat keys/key.txt`
else
echo minioadmin > keys/key.txt
echo "$(tput setaf 3)No key file detected...Preparing First Time Boot"
fi
if [ -f "keys/secret.txt" ]; then
echo "$(tput setaf 2)Secret file detected..."
export MINIO_ROOT_PASSWORD=`cat keys/secret.txt`
else
echo minioadmin > keys/secret.txt
echo "No secret file detected...Preparing First Time Boot"
fi
if [ -f "keys/oldsecret.txt" ]; then
echo "$(tput setaf 1)Old secret file detected..."
export MINIO_ROOT_PASSWORD_OLD=`cat keys/oldsecret.txt`
fi
if [ -f "keys/oldkey.txt" ]; then
echo "$(tput setaf 1)Old key file detected..."
export MINIO_ROOT_USER_OLD=`cat keys/oldkey.txt`
fi
if [ -f "keys/justrotated.txt" ]; then
echo "$(tput setaf 3)Previous key rotation detected...."
echo "$(tput setaf 3)Clearing the Lanes...."
unset MINIO_ROOT_USER_OLD
unset MINIO_ROOT_PASSWORD_OLD
echo "$(tput setaf 2)Lanes Cleared!"
STARTUP_TYPE=normal
rm keys/justrotated.txt
rm keys/oldsecret.txt
rm keys/oldkey.txt
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "update" ]; then
echo "$(tput setaf 3)Performing update...."
echo "$(tput setaf 1)Removing old minio version"
rm minio
echo "$(tput setaf 3)Downloading new minio version"
export ARCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")
wget https://dl.min.io/server/minio/release/linux-$ARCH/minio
chmod +x minio
echo "$(tput setaf 2)Update Complete"
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "rotate" ]; then
touch keys/justrotated.txt
export MINIO_ROOT_USER_OLD=$MINIO_ROOT_USER
echo $MINIO_ROOT_USER_OLD > keys/oldkey.txt
export MINIO_ROOT_PASSWORD_OLD=$MINIO_ROOT_PASSWORD
echo $MINIO_ROOT_PASSWORD_OLD > keys/oldsecret.txt
export MINIO_ROOT_USER=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $MINIO_ROOT_USER > keys/key.txt
export MINIO_ROOT_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $MINIO_ROOT_PASSWORD > keys/secret.txt
echo "Your New Access Key is: $(tput setaf 2)$MINIO_ROOT_USER"
echo "Your New Secret Key is: $(tput setaf 2)$MINIO_ROOT_PASSWORD"
echo "Your Old Access Key is: $(tput setaf 3)$MINIO_ROOT_USER_OLD"
echo "Your Old Access Key is: $(tput setaf 3)$MINIO_ROOT_PASSWORD_OLD"
echo "$(tput setaf 2)Booting..."
./minio server data --console-address ":$SERVER_PORT"
else
echo "$(tput setaf 2)Booting..."
./minio server data --console-address ":$SERVER_PORT"
fi