uploaded app
This commit is contained in:
25
ptero_eggs/application/minio/README.md
Normal file
25
ptero_eggs/application/minio/README.md
Normal 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
|
||||
42
ptero_eggs/application/minio/egg-minio-s3.json
Normal file
42
ptero_eggs/application/minio/egg-minio-s3.json
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
||||
70
ptero_eggs/application/minio/minio.sh
Normal file
70
ptero_eggs/application/minio/minio.sh
Normal 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
|
||||
Reference in New Issue
Block a user