first commit

This commit is contained in:
Chillcog committed 2026-07-03 05:00:02 -07:00
commit 21788ba270
643 files changed
+45536

No files matched your search

+25
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
+42
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": "2022-10-07T04:56:20-04: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\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/minio.sh",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"guide\",\r\n \"done\": \"Documentation:\"\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:\/\/github.com\/\/parkervcp\/eggs\/raw\/master\/storage\/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\/parkervcp\/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
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
+40
View File
@@ -0,0 +1,40 @@
# SFTP Storage Share
### Authors / Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/lilkingjr1">
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Maintains">🔨</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
___
### Description
A simple "empty" egg that acts as a private SFTP storage share by utilizing Pterodactyl's built in SFTP system for servers. Sub-users can be added to the server by the owner to allow additional people to access the share. "Starting" the server performs no actions and it should be left off.
You can access the SFTP server using your favorite SFTP client and the SFTP login information found under the "Settings" tab of the server.
___
### Server Ports
Pterodactyl may force you to assign a port to the server but it will not be used and can be any port. The only port that will be used will be the SFTP port assigned to the node the server is running on.
___
### Known Issues
- Pterodactyl currently does not enforce server storage size when the server is not running. Therefore, because this "server" does not run, the Disk Space setting when creating the server will not be enforced and caution should be used when deploying this solution to un-trusted end-users.
@@ -0,0 +1,31 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-01-27T18:29:17+00:00",
"name": "SFTP Storage Share",
"author": "rehlmgaming@gmail.com",
"description": "A simple \"empty\" egg that acts as a private SFTP storage share by utilizing Pterodactyl's built in SFTP system for servers. Sub-users can be added to the server by the owner to allow additional people to access the share. \"Starting\" the server performs no actions and it should be left off.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:alpine": "ghcr.io\/parkervcp\/yolks:alpine"
},
"file_denylist": [],
"startup": "echo -e \"\\n\\n\\033[0;31mThere is no need to start this server. The SFTP service is always running. Feel free to stop the server now.\\n\\t\\033[0;36m(Sub-users can be added via the Users tab to add\/remove access to the share in real time)\\n\\n\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "# Pterodactyl SFTP Storage Share Egg ~ David Wolfe (Red-Thirten) ~ 2023-01-27",
"container": "ghcr.io\/parkervcp\/installers:alpine",
"entrypoint": "ash"
}
},
"variables": []
}