diff --git a/.github/docker/README.md b/.github/docker/README.md index d8e9f9c14..b195b8300 100644 --- a/.github/docker/README.md +++ b/.github/docker/README.md @@ -12,7 +12,7 @@ You can provide additional settings using a custom `.env` file or by setting the ## Setup -Start the docker container and the required dependencies (either provide existing ones or start containers as well, see the [docker-compose.yml](docker-compose.yml) file as an example). +Start the docker container and the required dependencies (either provide existing ones or start containers as well, see the [docker-compose.yml](https://github.com/pterodactyl/panel/blob/develop/docker-compose.example.yml) file as an example. After the startup is complete you'll need to create a user. If you are running the docker container without docker-compose, use: diff --git a/.github/docker/entrypoint.sh b/.github/docker/entrypoint.sh index b2460cde9..d3df9c150 100644 --- a/.github/docker/entrypoint.sh +++ b/.github/docker/entrypoint.sh @@ -55,6 +55,11 @@ else rm -rf /etc/nginx/http.d/default.conf fi +if [[ -z $DB_PORT ]]; then + echo -e "DB_PORT not specified, defaulting to 3306" + DB_PORT=3306 +fi + ## check for DB up before starting the panel echo "Checking database status." until nc -z -v -w30 $DB_HOST $DB_PORT diff --git a/BUILDING.md b/BUILDING.md index df60f70a8..d8b703338 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -5,9 +5,9 @@ Release versions of Pterodactyl will include pre-compiled, minified, and hashed However, if you are interested in running custom themes or making modifications to the React files you'll need a build system in place to generate these compiled assets. To get your environment setup you'll need at minimum: -* Node.js 12 -* [Yarn](https://classic.yarnpkg.com/lang/en/) v1 -* [Go](https://golang.org/) 1.15. +* [Node.js](https://nodejs.org/en/) v14.x.x +* [Yarn](https://classic.yarnpkg.com/lang/en/) v1.x.x +* [Go](https://golang.org/) 1.17.x ### Install Dependencies ```bash diff --git a/database/Seeders/eggs/minecraft/egg-bungeecord.json b/database/Seeders/eggs/minecraft/egg-bungeecord.json index 9a538a8e1..ac3749c8c 100644 --- a/database/Seeders/eggs/minecraft/egg-bungeecord.json +++ b/database/Seeders/eggs/minecraft/egg-bungeecord.json @@ -10,7 +10,8 @@ "description": "For a long time, Minecraft server owners have had a dream that encompasses a free, easy, and reliable way to connect multiple Minecraft servers together. BungeeCord is the answer to said dream. Whether you are a small server wishing to string multiple game-modes together, or the owner of the ShotBow Network, BungeeCord is the ideal solution for you. With the help of BungeeCord, you will be able to unlock your community's full potential.", "features": [ "eula", - "java_version" + "java_version", + "pid_limit" ], "images": [ "ghcr.io\/pterodactyl\/yolks:java_8", diff --git a/database/Seeders/eggs/minecraft/egg-forge-minecraft.json b/database/Seeders/eggs/minecraft/egg-forge-minecraft.json index 7f889f1a9..a077df6d1 100644 --- a/database/Seeders/eggs/minecraft/egg-forge-minecraft.json +++ b/database/Seeders/eggs/minecraft/egg-forge-minecraft.json @@ -10,7 +10,8 @@ "description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.", "features": [ "eula", - "java_version" + "java_version", + "pid_limit" ], "images": [ "ghcr.io\/pterodactyl\/yolks:java_17", diff --git a/database/Seeders/eggs/minecraft/egg-paper.json b/database/Seeders/eggs/minecraft/egg-paper.json index 284ee97fb..afd3715d8 100644 --- a/database/Seeders/eggs/minecraft/egg-paper.json +++ b/database/Seeders/eggs/minecraft/egg-paper.json @@ -10,7 +10,8 @@ "description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.", "features": [ "eula", - "java_version" + "java_version", + "pid_limit" ], "images": [ "ghcr.io\/pterodactyl\/yolks:java_8", diff --git a/database/Seeders/eggs/minecraft/egg-sponge--sponge-vanilla.json b/database/Seeders/eggs/minecraft/egg-sponge--sponge-vanilla.json index 9c502f747..908c1f4e5 100644 --- a/database/Seeders/eggs/minecraft/egg-sponge--sponge-vanilla.json +++ b/database/Seeders/eggs/minecraft/egg-sponge--sponge-vanilla.json @@ -10,7 +10,8 @@ "description": "SpongeVanilla is the SpongeAPI implementation for Vanilla Minecraft.", "features": [ "eula", - "java_version" + "java_version", + "pid_limit" ], "images": [ "ghcr.io\/pterodactyl\/yolks:java_8", diff --git a/database/Seeders/eggs/minecraft/egg-vanilla-minecraft.json b/database/Seeders/eggs/minecraft/egg-vanilla-minecraft.json index 9106d1a72..2361a2974 100644 --- a/database/Seeders/eggs/minecraft/egg-vanilla-minecraft.json +++ b/database/Seeders/eggs/minecraft/egg-vanilla-minecraft.json @@ -10,7 +10,8 @@ "description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited resources or mine deep in Survival Mode, crafting weapons and armor to fend off dangerous mobs. Do all this alone or with friends.", "features": [ "eula", - "java_version" + "java_version", + "pid_limit" ], "images": [ "ghcr.io\/pterodactyl\/yolks:java_8", diff --git a/docker-compose.example.yml b/docker-compose.example.yml index e25b27fcb..1a0159ffe 100644 --- a/docker-compose.example.yml +++ b/docker-compose.example.yml @@ -70,6 +70,7 @@ services: QUEUE_DRIVER: "redis" REDIS_HOST: "cache" DB_HOST: "database" + DB_PORT: "3306" networks: default: ipam: diff --git a/resources/scripts/components/elements/Switch.tsx b/resources/scripts/components/elements/Switch.tsx index 68bac5466..70523721c 100644 --- a/resources/scripts/components/elements/Switch.tsx +++ b/resources/scripts/components/elements/Switch.tsx @@ -40,11 +40,12 @@ export interface SwitchProps { label?: string; description?: string; defaultChecked?: boolean; + readOnly?: boolean; onChange?: (e: React.ChangeEvent) => void; children?: React.ReactNode; } -const Switch = ({ name, label, description, defaultChecked, onChange, children }: SwitchProps) => { +const Switch = ({ name, label, description, defaultChecked, readOnly, onChange, children }: SwitchProps) => { const uuid = useMemo(() => v4(), []); return ( @@ -57,6 +58,7 @@ const Switch = ({ name, label, description, defaultChecked, onChange, children } type={'checkbox'} onChange={e => onChange && onChange(e)} defaultChecked={defaultChecked} + disabled={readOnly} /> }