-
Notifications
You must be signed in to change notification settings - Fork 54
Add Egg Docs #177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add Egg Docs #177
Conversation
Added detailed instructions on creating a custom egg for Pelican Panel, including configuration, features, and variable management.
Added imports for Admonition, Tabs, and TabItem components.
Updated the documentation for creating a custom egg.
Added a comprehensive tutorial on creating a custom Docker image, including Dockerfile structure, dependency installation, and entrypoint script details.
✅ Deploy Preview for pelica ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
WalkthroughAdds two new documentation pages explaining how to create custom Eggs and Yolks for Pelican Panel and updates the documentation sidebar to include a new "Eggs" category linking those guides. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (2)
docs/eggs/creating-a-custom-docker-image.mdx (1)
15-18: Minor wording & grammar polish for clarityA few small language tweaks would make this read more cleanly:
Line 15: use “set up” (verb) instead of “setup” (noun).
Line 17: you can trim the wording a bit and avoid “in order to”.
Line 81: avoid “In order to…” and tighten the sentence.
Line 104: clarify that
STARTUPis an environment variable.Suggested patch:
-The most important part of this process is to create the [`Dockerfile`](https://docs.docker.com/engine/reference/builder/) that will be used by Wings. Due to heavy restrictions on server containers, you must setup this file in a specific manner. +The most important part of this process is to create the [`Dockerfile`](https://docs.docker.com/engine/reference/builder/) that will be used by Wings. Due to heavy restrictions on server containers, you must set up this file in a specific manner. @@ -We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images in order to keep their size down. +We try to use [Alpine Linux](https://alpinelinux.org) for our images to keep their size down. @@ -In order to complete this `Dockerfile`, we will need an `entrypoint.sh` file which tells Docker how to run this specific server type. +To complete this `Dockerfile`, we need an `entrypoint.sh` file that tells Docker how to run this specific server type. @@ -The most significant part of this file is the `MODIFIED_STARTUP` environment variable. What we are doing in this case is parsing the environment `STARTUP` that is passed into the container by Wings. +The most significant part of this file is the `MODIFIED_STARTUP` environment variable. What we are doing in this case is parsing the environment variable `STARTUP` that is passed into the container by Wings.Also applies to: 17-17, 81-82, 104-105
docs/eggs/creating-a-custom-egg.mdx (1)
159-160: Optional hyphenation/style tweaks in later sectionsVery minor style fixes you can apply if you want to polish further:
- Line 159: “regex based validation” → “regex‑based validation”.
- Lines 189–190: “Debian/Ubuntu based” and “Alpine Linux based” → “Debian/Ubuntu‑based” and “Alpine Linux‑based”.
Example patch:
-You can also use regex based validation by using the `regex:` rule flag. +You can also use regex-based validation by using the `regex:` rule flag. @@ - - `bash` - Use for Debian/Ubuntu based install images - - `ash` - Use for Alpine Linux based install images + - `bash` - Use for Debian/Ubuntu-based install images + - `ash` - Use for Alpine Linux-based install imagesThe rest of the doc (config file parsing examples, start config, variables, and install scripts) is detailed and aligns well with how Wings processes eggs.
Also applies to: 189-190
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docs/eggs/creating-a-custom-docker-image.mdx(1 hunks)docs/eggs/creating-a-custom-egg.mdx(1 hunks)sidebars.ts(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-egg.mdx
[grammar] ~24-~24: Ensure spelling is correct
Context: ... the Egg. ### Description This is the discription of your egg and what is needed to run y...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~27-~27: Ensure spelling is correct
Context: ...p Commands Here you can assign multiple Starup commands to run your server Example Be...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~36-~36: Ensure spelling is correct
Context: ...tures (Egg Features) Egg feature can do diffrent things when specifyed. Example Below | ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~40-~40: Ensure spelling is correct
Context: ... | | java_version | Specifys the java version | | ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~44-~44: Ensure spelling is correct
Context: ...ether as the same egg type. This is the secsessor to nests. ### Update URL This can be ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~47-~47: Consider using “who” when you are referring to people instead of objects.
Context: ...URL This can be specifyed so that users that use your egg can Update the egg without...
(THAT_WHO)
[grammar] ~50-~50: Use a hyphen to join words.
Context: ...lways a docker image. They can be custom made and you can find how to make them f...
(QB_NEW_EN_HYPHEN)
[style] ~64-~64: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~76-~76: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~76-~76: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~157-~157: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~159-~159: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules on the Larav...
(ALL_OF_THE)
[grammar] ~159-~159: Use a hyphen to join words.
Context: ... Laravel website. You can also use regex based validation by using the regex: r...
(QB_NEW_EN_HYPHEN)
[grammar] ~189-~189: Use a hyphen to join words.
Context: ...ript: - bash - Use for Debian/Ubuntu based install images - ash - Use for...
(QB_NEW_EN_HYPHEN)
[grammar] ~190-~190: Use a hyphen to join words.
Context: ... images - ash - Use for Alpine Linux based install images ### Example Instal...
(QB_NEW_EN_HYPHEN)
docs/eggs/creating-a-custom-docker-image.mdx
[style] ~17-~17: Consider a more concise word here.
Context: ...org) as much as possible for our images in order to keep their size down. ```dockerfile # ...
(IN_ORDER_TO_PREMIUM)
[style] ~80-~80: Consider a more concise word here.
Context: ...rypoint.sh"] ``` ## Entrypoint Script In order to complete this Dockerfile, we will nee...
(IN_ORDER_TO_PREMIUM)
🔇 Additional comments (2)
docs/eggs/creating-a-custom-docker-image.mdx (1)
5-141: Overall doc reads well and matches expected Wings/yolk patternsThe structure and examples (Alpine base,
/home/container,containeruser,entrypoint.sh, andMODIFIED_STARTUPhandling) align with how Wings images are typically built and should be familiar to users coming from Pterodactyl. I don’t see technical inaccuracies in the described flow.sidebars.ts (1)
47-54: Sidebar wiring for new egg docs looks correctThe new “Creating Eggs” category is well placed between “Wings” and “Guides”, and the items:
eggs/creating-a-custom-eggeggs/creating-a-custom-docker-imagematch the added doc paths, so Docusaurus should resolve them correctly.
Corrected grammatical errors and improved clarity in the documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (5)
docs/eggs/creating-a-custom-egg.mdx (5)
21-21: Typo: "orignal" should be "original" (Previous review flagged; still unresolved)This spelling error remains from the prior review cycle.
-This is the orignal Creator of the egg. +This is the original creator of the egg.
47-47: Fix spelling and pronoun: "specifyed" and "users that use" (Previous review flagged; still unresolved)This section has two unresolved issues from the prior review:
- "specifyed" should be "specified"
- "users that use" should be "users who" (referring to people)
Additionally, the sentence is wordy and could be simplified.
-This can be specifyed so that users that use your egg can update the egg without having to look around for where the egg is hosted. +This can be specified so users who use your egg can update it without searching for where it is hosted.
40-40: Capitalize "Java" for consistency with technical namingThe Java version reference should use the standard capitalization of the language name.
-| java_version | Specifies the java version | +| java_version | Specifies the Java version |
41-41: Fix grammar: "Is setting" should be "A setting"The sentence structure needs correction to be grammatically sound.
-| pid_limit | Is setting that restricts the maximum number of processes that can run within a container or on a system | +| pid_limit | Setting that restricts the maximum number of processes that can run within a container or on a system |
36-36: Use plural form: "Egg features" not "Egg feature"The opening sentence should use the plural form to match the section title.
-Egg feature can do different things when specified. Example below: +Egg features can do different things when specified. Example below:
🧹 Nitpick comments (6)
docs/eggs/creating-a-custom-egg.mdx (6)
44-44: Eliminate redundant phrasing: "system is a system"Tighten the sentence to avoid repeating "system."
-The tag system is a system that you can use to group eggs together as the same egg type. This is the successor to nests. +Tags let you group eggs together by type. This is the successor to nests.
64-64: Consider alternative phrasing for adverb placementThe phrasing "command used to safely stop" could be more natural as "command to safely stop" or restructured for clarity.
-Next, you'll encounter `Stop Command` and, as the name implies, this should be the command used to safely stop the server. For some games, this is `stop` or `end`. Certain programs and games don't have a specified stop command, so you can enter `^C` to have Wings execute a `SIGINT` to end the process. +Next, you'll encounter `Stop Command`, which is the command to safely stop the server. For some games, this is `stop` or `end`. Certain programs and games don't have a specified stop command, so you can enter `^C` to have Wings execute a `SIGINT` to end the process.
76-76: Simplify wordiness: "prior to" and "all of the"Use more concise language: "before" instead of "prior to" and "all the" instead of "all of the."
-The next block is one of the most complex blocks, the `Configuration Files` descriptor. Wings will process this block prior to booting the server to ensure all of the required settings are defined and set correctly. +The next block is one of the most complex blocks, the `Configuration Files` descriptor. Wings will process this block before booting the server to ensure all the required settings are defined and set correctly.
157-157: Rephrase: Consider alternative to "not important"The phrase "not important" is somewhat informal for documentation. Consider more direct language.
-You should use caution here, even if you assign neither of the permissions it does not mean that the value will be hidden. Crafty users will still be able to get the environment on their server. In most cases this is simply hiding it from the user, and then used within the Dockerfile to perform actions, thus it is not important for the user to see. +You should use caution here, even if you assign neither of the permissions, the value may still be accessible to determined users. In most cases, this is simply hiding it from the user interface while using the environment variable in the Dockerfile to perform actions.
159-159: Simplify wordiness and hyphenate compound adjectiveUse "all the" instead of "all of the" and hyphenate "regex-based."
-Finally, you will need to define some input rules to validate the value against. In this example, we use `required|string|between:1,10`, which means the field is `required`, must be a `string`, and must be between `1` and `10` characters in length. You can find all of the available validation rules on the Laravel website. You can also use regex based validation by using the `regex:` rule flag. For example, `required|regex:/^([\w\d._-]+)(\.jar)$/` will require the field, and will match the regex as any letters or numbers (`\w\d`) including underscore (`_`), periods (`.`), and dashes (`-`) ending in `.jar`. +Finally, you will need to define some input rules to validate the value against. In this example, we use `required|string|between:1,10`, which means the field is `required`, must be a `string`, and must be between `1` and `10` characters in length. You can find all the available validation rules on the Laravel website. You can also use regex-based validation by using the `regex:` rule flag. For example, `required|regex:/^([\w\d._-]+)(\.jar)$/` will require the field, and will match the regex as any letters or numbers (`\w\d`) including underscore (`_`), periods (`.`), and dashes (`-`) ending in `.jar`.
189-190: Hyphenate compound adjectives: "Debian-based" and "Alpine-based"Use hyphens to join compound adjectives modifying "install images."
-- `bash` - Use for Debian/Ubuntu based install images -- `ash` - Use for Alpine Linux based install images +- `bash` - Use for Debian/Ubuntu-based install images +- `ash` - Use for Alpine Linux-based install images
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/eggs/creating-a-custom-egg.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-egg.mdx
[style] ~47-~47: Consider using “who” when you are referring to people instead of objects.
Context: ...URL This can be specifyed so that users that use your egg can update the egg without...
(THAT_WHO)
[grammar] ~50-~50: Use a hyphen to join words.
Context: ...has a Docker image. Images can be custom made, and you can learn how to create th...
(QB_NEW_EN_HYPHEN)
[style] ~64-~64: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~76-~76: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~76-~76: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~157-~157: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~159-~159: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules on the Larav...
(ALL_OF_THE)
[grammar] ~159-~159: Use a hyphen to join words.
Context: ... Laravel website. You can also use regex based validation by using the regex: r...
(QB_NEW_EN_HYPHEN)
[grammar] ~189-~189: Use a hyphen to join words.
Context: ...ript: - bash - Use for Debian/Ubuntu based install images - ash - Use for...
(QB_NEW_EN_HYPHEN)
[grammar] ~190-~190: Use a hyphen to join words.
Context: ... images - ash - Use for Alpine Linux based install images ### Example Instal...
(QB_NEW_EN_HYPHEN)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
docs/eggs/creating-a-custom-yolk.mdx (2)
14-14: Replace "in order to" with "to" for conciseness.The phrase "in order to keep their size down" can be simplified to "to keep their size down" for improved readability.
Apply this change:
-We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images in order to keep their size down. +We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images to keep their size down.
77-77: Replace "in order to" with "to" for conciseness.The phrase "in order to complete this
Dockerfile" can be simplified to "to complete thisDockerfile" for improved readability.Apply this change:
-In order to complete this `Dockerfile`, we will need an `entrypoint.sh` file which tells Docker how to run this specific server type. +To complete this `Dockerfile`, we will need an `entrypoint.sh` file which tells Docker how to run this specific server type.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/eggs/creating-a-custom-yolk.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-yolk.mdx
[style] ~14-~14: Consider a more concise word here.
Context: ...org) as much as possible for our images in order to keep their size down. ```dockerfile # ...
(IN_ORDER_TO_PREMIUM)
[style] ~77-~77: Consider a more concise word here.
Context: ...rypoint.sh"] ``` ## Entrypoint Script In order to complete this Dockerfile, we will nee...
(IN_ORDER_TO_PREMIUM)
🔇 Additional comments (3)
docs/eggs/creating-a-custom-yolk.mdx (3)
16-37: Dockerfile structure and best practices look sound.The Dockerfile follows Docker best practices: using a minimal base image (Alpine), combining RUN commands to reduce layers, setting appropriate user permissions, and proper use of WORKDIR. The inline comments enhance clarity.
82-95: Entrypoint script is clear and well-documented.The entrypoint script correctly demonstrates:
- Directory initialization with
cd /home/container- Diagnostic output (
java -version)- Placeholder substitution using
sedto convert{{VARIABLE}}to$VARIABLEsyntax- Command execution with
${MODIFIED_STARTUP}This is a solid educational example.
99-130: Startup command modification logic is well-explained.The explanation of how the
MODIFIED_STARTUPvariable transforms placeholder syntax is clear and includes concrete before/after examples. The walkthrough of the sed replacement and eval command helps readers understand the mechanism.
Updated the section on Docker images to clarify terminology and guide references.
Removed the Table of Contents section from the tutorial.
|
@rmartinoscar changes have been made, i did change some of the wording as well, only because the panel shows Docker Images rather than yolks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (3)
docs/eggs/creating-a-custom-egg.mdx (3)
18-18: Fix spelling error."orignal" should be "original".
-This is the orignal Creator of the egg. +This is the original creator of the egg.
44-44: Fix typo and use correct pronoun."specifyed" should be "specified", and "users that use" should be "users who use" when referring to people.
-This can be specifyed so that users that use your egg can update the egg without having to look around for where the egg is hosted. +This can be specified so that users who use your egg can update the egg without having to look around for where the egg is hosted.
38-38: Fix grammatically incomplete sentence.The description for
pid_limitstarts with "Is setting" which is grammatically incomplete.-| pid_limit | Is setting that restricts the maximum number of processes that can run within a container or on a system | +| pid_limit | A setting that restricts the maximum number of processes that can run within a container or on a system |
🧹 Nitpick comments (1)
docs/eggs/creating-a-custom-yolk.mdx (1)
12-12: Optional: Simplify wording for conciseness.Consider replacing "in order to keep" with "to keep" for more concise writing.
-We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images in order to keep their size down. +We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images to keep their size down.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docs/eggs/creating-a-custom-egg.mdx(1 hunks)docs/eggs/creating-a-custom-yolk.mdx(1 hunks)sidebars.ts(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-egg.mdx
[style] ~44-~44: Consider using “who” when you are referring to people instead of objects.
Context: ...URL This can be specifyed so that users that use your egg can update the egg without...
(THAT_WHO)
[grammar] ~47-~47: Ensure spelling is correct
Context: ... has a Docker image or Yolk as they are refurred to. Images can be custom made, and you ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~47-~47: Use a hyphen to join words.
Context: ...ey are refurred to. Images can be custom made, and you can learn how to create th...
(QB_NEW_EN_HYPHEN)
[style] ~61-~61: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~73-~73: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~73-~73: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~154-~154: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~156-~156: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules on the Larav...
(ALL_OF_THE)
[grammar] ~156-~156: Use a hyphen to join words.
Context: ... Laravel website. You can also use regex based validation by using the regex: r...
(QB_NEW_EN_HYPHEN)
[grammar] ~186-~186: Use a hyphen to join words.
Context: ...ript: - bash - Use for Debian/Ubuntu based install images - ash - Use for...
(QB_NEW_EN_HYPHEN)
[grammar] ~187-~187: Use a hyphen to join words.
Context: ... images - ash - Use for Alpine Linux based install images ### Example Instal...
(QB_NEW_EN_HYPHEN)
docs/eggs/creating-a-custom-yolk.mdx
[style] ~12-~12: Consider a more concise word here.
Context: ...org) as much as possible for our images in order to keep their size down. ```dockerfile # ...
(IN_ORDER_TO_PREMIUM)
[style] ~75-~75: Consider a more concise word here.
Context: ...rypoint.sh"] ``` ## Entrypoint Script In order to complete this Dockerfile, we will nee...
(IN_ORDER_TO_PREMIUM)
🔇 Additional comments (10)
sidebars.ts (1)
47-54: LGTM!The new "Eggs" category is properly structured and follows the existing sidebar patterns. The placement between Wings and Guides makes logical sense for documentation flow.
docs/eggs/creating-a-custom-yolk.mdx (4)
14-48: LGTM!The Dockerfile example follows best practices for Alpine-based images, including minimal layers, proper caching strategies, and clear dependency installation.
49-62: LGTM!The user creation requirements are clearly documented with appropriate warnings. The mandatory naming convention (
containeruser with/home/containerhome) is properly emphasized.
80-93: LGTM!The entrypoint script correctly demonstrates variable substitution logic. The sed command properly transforms the placeholder syntax from
{{VAR}}to${VAR}for bash evaluation.
97-136: LGTM!The step-by-step explanation of startup command variable substitution is clear and accurate. The before/after examples effectively demonstrate how placeholders like
{{SERVER_MEMORY}}are replaced with actual values, and the chmod note provides helpful practical guidance.docs/eggs/creating-a-custom-egg.mdx (5)
53-70: LGTM!The process management configuration is clearly explained. The stop command options (
stop,end,^Cfor SIGINT) are accurately documented, and the log storage configuration example is correct.
71-122: LGTM!The configuration files section provides comprehensive documentation with clear examples. The parser types are well-documented, and the advanced YAML example effectively demonstrates wildcard matching and multi-value replacement.
123-136: LGTM!The start configuration section clearly explains how Wings detects when a server has finished starting. The "done" marker concept is well-documented.
143-159: LGTM!The egg variables section provides excellent documentation on variable creation, usage patterns, permissions, and validation rules. The examples effectively demonstrate the different syntax options for accessing variables in various contexts.
175-268: LGTM!The install script section is comprehensive and well-structured. It covers all essential aspects including script configuration, container paths, common patterns (downloading, cloning, extracting, building), variables access, and proper exit code handling. The examples are practical and accurate.
|
closes issue #151 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (2)
docs/eggs/creating-a-custom-egg.mdx (2)
47-47: Fix spelling error and add hyphen for compound adjective.Two issues remain from previous reviews:
- "refurred" → "referred"
- "custom made" → "custom-made" (compound adjective)
🔎 Proposed fix
-Every egg has a Docker image or Yolk as they are refurred to. Images can be custom made, and you can learn how to create them in the "Creating a Custom Yolk" guide. They have two fields that need to be defined: the name of the image and the URL where the image is hosted. +Every egg has a Docker image or Yolk as they are referred to. Images can be custom-made, and you can learn how to create them in the "Creating a Custom Yolk" guide. They have two fields that need to be defined: the name of the image and the URL where the image is hosted.
44-44: Fix spelling and grammar in Update URL section.Two issues on this line:
- "specifyed" → "specified"
- "users that" → "users who" (when referring to people)
🔎 Proposed fix
-This can be specifyed so that users that use your egg can update the egg without having to look around for where the egg is hosted. +This can be specified so that users who use your egg can update the egg without having to look around for where the egg is hosted.
🧹 Nitpick comments (3)
docs/eggs/creating-a-custom-egg.mdx (3)
38-38: Improve grammar in pid_limit description.The description starts with "Is setting that" which is grammatically awkward. Consider rephrasing for clarity.
🔎 Proposed fix
-| pid_limit | Is setting that restricts the maximum number of processes that can run within a container or on a system | +| pid_limit | Setting that restricts the maximum number of processes that can run within a container or on a system |
156-156: Consider adding a link to Laravel validation rules.The text mentions "You can find all of the available validation rules on the Laravel website" but doesn't provide a specific link. Consider adding a direct link to help users find the documentation more easily.
🔎 Suggested enhancement
-Finally, you will need to define some input rules to validate the value against. In this example, we use `required|string|between:1,10`, which means the field is `required`, must be a `string`, and must be between `1` and `10` characters in length. You can find all of the available validation rules on the Laravel website. You can also use regex based validation by using the `regex:` rule flag. For example, `required|regex:/^([\w\d._-]+)(\.jar)$/` will require the field, and will match the regex as any letters or numbers (`\w\d`) including underscore (`_`), periods (`.`), and dashes (`-`) ending in `.jar`. +Finally, you will need to define some input rules to validate the value against. In this example, we use `required|string|between:1,10`, which means the field is `required`, must be a `string`, and must be between `1` and `10` characters in length. You can find all of the available validation rules in the [Laravel validation documentation](https://laravel.com/docs/validation#available-validation-rules). You can also use regex-based validation by using the `regex:` rule flag. For example, `required|regex:/^([\w\d._-]+)(\.jar)$/` will require the field, and will match the regex as any letters or numbers (`\w\d`) including underscore (`_`), periods (`.`), and dashes (`-`) ending in `.jar`.This also fixes the hyphenation of "regex based" → "regex-based".
186-187: Consider adding hyphens to compound adjectives for consistency.For grammatical consistency with compound adjectives, consider hyphenating "Debian/Ubuntu based" → "Debian/Ubuntu-based" and "Alpine Linux based" → "Alpine Linux-based".
🔎 Proposed fix
- `bash` - Use for Debian/Ubuntu based install images - - `ash` - Use for Alpine Linux based install images + - `bash` - Use for Debian/Ubuntu-based install images + - `ash` - Use for Alpine Linux-based install images
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/eggs/creating-a-custom-egg.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-egg.mdx
[style] ~44-~44: Consider using “who” when you are referring to people instead of objects.
Context: ...URL This can be specifyed so that users that use your egg can update the egg without...
(THAT_WHO)
[grammar] ~47-~47: Ensure spelling is correct
Context: ... has a Docker image or Yolk as they are refurred to. Images can be custom made, and you ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~47-~47: Use a hyphen to join words.
Context: ...ey are refurred to. Images can be custom made, and you can learn how to create th...
(QB_NEW_EN_HYPHEN)
[style] ~61-~61: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~73-~73: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~73-~73: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~154-~154: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~156-~156: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules on the Larav...
(ALL_OF_THE)
[grammar] ~156-~156: Use a hyphen to join words.
Context: ... Laravel website. You can also use regex based validation by using the regex: r...
(QB_NEW_EN_HYPHEN)
[grammar] ~186-~186: Use a hyphen to join words.
Context: ...ript: - bash - Use for Debian/Ubuntu based install images - ash - Use for...
(QB_NEW_EN_HYPHEN)
[grammar] ~187-~187: Use a hyphen to join words.
Context: ... images - ash - Use for Alpine Linux based install images ### Example Instal...
(QB_NEW_EN_HYPHEN)
🔇 Additional comments (3)
docs/eggs/creating-a-custom-egg.mdx (3)
160-174: LGTM!The default variables table is well-structured and provides clear examples showing the expected format and usage. This will be helpful for users understanding the available placeholders.
175-268: LGTM!The Install Script section is comprehensive and well-structured. It provides clear guidance on:
- Configuration requirements (script container, install script, script entry)
- Practical examples with commented code
- Variable usage patterns
- Important warnings about path differences (
/mnt/servervs/home/container)- Common patterns for downloads, git cloning, extraction, and building
- Exit code handling
This will be very helpful for users creating custom eggs.
17-21: Fix spelling errors in Author and Description sections.Two typos remain from previous reviews:
- Line 18: "orignal" → "original"
- Line 21: "discription" → "description"
🔎 Proposed fix
### Author -This is the orignal Creator of the egg. +This is the original creator of the egg. ### Description -This is the description of your egg and what is needed to run it. +This is the description of your egg and what is needed to run it.Likely an incorrect or invalid review comment.
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Corrected typos and improved clarity in documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (2)
docs/eggs/creating-a-custom-egg.mdx (2)
18-18: Fix spelling error."orignal" should be "original". This was flagged in a previous review but remains unfixed.
🔎 Proposed fix
-This is the orignal Creator of the egg. +This is the original creator of the egg.
32-39: Fix grammar and capitalization issues.Several minor issues in this section:
- Line 33: "Egg feature can" should be "Egg features can" (plural)
- Line 36: "Makes a popup" is awkward; prefer "Displays a popup" or "Shows a popup"
- Line 37: "java version" should be "Java version" (proper noun)
🔎 Proposed fixes
### Features (Egg Features) -Egg feature can do different things when specified. Example below: +Egg features can do different things when specified. Example below: | Tag | Description | | ------------------------- | ------------------------------------------- | -| eula | Makes a popup for accepting the EULA | -| java_version | Specifies the java version | +| eula | Displays a popup for accepting the EULA | +| java_version | Specifies the Java version | | pid_limit | Setting that restricts the maximum number of processes that can run within a container or on a system |
🧹 Nitpick comments (1)
docs/eggs/creating-a-custom-egg.mdx (1)
40-42: Simplify redundant wording.The phrase "The tag system is a system that" is redundant and wordy.
🔎 Proposed simplification
### Tags -The tag system is a system that you can use to group eggs together as the same egg type. This is the successor to nests. +The tag system allows you to group eggs together by type. This is the successor to nests.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/eggs/creating-a-custom-egg.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-egg.mdx
[style] ~61-~61: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~73-~73: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~73-~73: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~154-~154: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~156-~156: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules in the [Lara...
(ALL_OF_THE)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Redirect rules
- GitHub Check: Header rules
- GitHub Check: Pages changed
🔇 Additional comments (6)
docs/eggs/creating-a-custom-egg.mdx (6)
46-51: LGTM!The Docker Images/Yolks section is well-written and informative. Previous typos have been corrected.
71-122: LGTM!The Configuration Files section is comprehensive and accurate. The port variable paths correctly use
server.allocations.default.portas per previous feedback.
123-136: LGTM!Clear and concise explanation of the Start Configuration block.
143-159: LGTM!Excellent and comprehensive documentation of Egg Variables. The security considerations and validation examples are particularly helpful.
160-174: LGTM!The default variables table is well-organized and provides clear examples.
175-268: LGTM!The Install Script section is comprehensive and exceptionally well-documented. The warning about container paths is crucial and properly highlighted with an admonition. The examples cover common patterns effectively.
Corrected typos and improved clarity in the documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
docs/eggs/creating-a-custom-egg.mdx (1)
17-18: Fix capitalization.The word "creator" should be lowercase as it's not a proper noun or title in this context.
🔎 Proposed fix
### Author -This is the original Creator of the egg. +This is the original creator of the egg.
🧹 Nitpick comments (5)
docs/eggs/creating-a-custom-egg.mdx (5)
32-38: Consider more concise table descriptions.The feature descriptions could be tightened slightly for better scannability. For example, the
pid_limitrow could start with an active verb.🔎 Proposed refinement
| Tag | Description | | ------------------------- | ------------------------------------------- | | eula | Displays a popup for accepting the EULA | | java_version | Specifies the Java version | -| pid_limit | Setting that restricts the maximum number of processes that can run within a container or on a system | +| pid_limit | Restricts the maximum number of processes that can run within a container or on a system |
64-69: Consider clarifying the empty log storage configuration.The empty JSON object for log storage might be confusing to users without additional context. Consider adding a brief note explaining that the empty object is intentional because Wings handles logs automatically via Docker.
🔎 Suggested addition
### Log Storage -Logs are completely handled by Wings and use Docker logs to output the complete output from the server. This can be set like below: +Logs are completely handled by Wings and use Docker logs to output the complete output from the server. The configuration is typically empty since Wings manages this automatically: ```json {}</details> --- `89-96`: **Consider clarifying when the `file` parser should be used.** The description warns to "avoid using this parser if possible" but doesn't explain the use case when it would be necessary. Consider adding context about when this parser might be the only option (e.g., for simple line-based configuration files that don't follow structured formats). <details> <summary>🔎 Suggested improvement</summary> ```diff -- `file` — This parser goes based on matching the beginning of lines, and not a specific property like the other five. Avoid using this parser if possible. +- `file` — This parser matches the beginning of lines rather than specific properties like the other parsers. Use this only for simple line-based configs that don't follow structured formats like YAML or JSON.
154-154: Consider rephrasing for clarity.The phrase "thus it is not important for the user to see" could be stated more directly as "so the user doesn't need to see it" or "making it unnecessary for user visibility."
🔎 Suggested improvement
-You should use caution here, even if you assign neither of the permissions it does not mean that the value will be hidden. Crafty users will still be able to get the environment on their server. In most cases this is simply hiding it from the user, and then used within the Dockerfile to perform actions, thus it is not important for the user to see. +You should use caution here, even if you assign neither of the permissions it does not mean that the value will be hidden. Crafty users will still be able to get the environment on their server. In most cases this is simply hiding it from the user, and then used within the Dockerfile to perform actions, making it unnecessary for user visibility.
268-269: Remove trailing blank lines.The file has trailing blank lines at the end that can be removed for cleaner formatting.
🔎 Proposed cleanup
echo "Installation successful" exit 0
</details> </blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used**: defaults **Review profile**: CHILL **Plan**: Pro <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between d8bb4ec8521af6f43e7f40162eaecc2bead606e4 and 019234d88ecaf86610eb4e6c0e94f7d969b6d7ef. </details> <details> <summary>📒 Files selected for processing (1)</summary> * `docs/eggs/creating-a-custom-egg.mdx` (1 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>docs/eggs/creating-a-custom-egg.mdx</summary> [style] ~61-~61: Try moving the adverb to make the sentence clearer. Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is `stop` or `end... (SPLIT_INFINITIVE) --- [style] ~73-~73: ‘prior to’ might be wordy. Consider a shorter alternative. Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the... (EN_WORDINESS_PREMIUM_PRIOR_TO) --- [style] ~73-~73: Consider removing “of” to be more concise Context: ...k prior to booting the server to ensure all of the required settings are defined and set c... (ALL_OF_THE) --- [style] ~154-~154: Consider an alternative for the often overused word ‘important’. Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will... (NOT_IMPORTANT) --- [style] ~156-~156: Consider removing “of” to be more concise Context: ...`10` characters in length. You can find all of the available validation rules in the [Lara... (ALL_OF_THE) </details> </details> </details> <details> <summary>🔇 Additional comments (1)</summary><blockquote> <details> <summary>docs/eggs/creating-a-custom-egg.mdx (1)</summary><blockquote> `175-267`: **Excellent install script documentation.** The install script section is comprehensive, well-structured, and covers all essential aspects: - Clear configuration requirements - Practical examples - Important path warnings - Common patterns - Proper error handling The bash script examples are syntactically correct and follow good practices. </blockquote></details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
Added link to Yolk repository for pre-made images.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/eggs/creating-a-custom-egg.mdx (1)
18-18: Lowercase "creator" for consistency.The word "Creator" should be lowercase to maintain consistent capitalization style throughout the documentation.
🔎 Proposed fix
-This is the original Creator of the egg. +This is the original creator of the egg.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/eggs/creating-a-custom-egg.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-egg.mdx
[style] ~61-~61: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~73-~73: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~73-~73: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~154-~154: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~156-~156: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules in the [Lara...
(ALL_OF_THE)
🔇 Additional comments (2)
docs/eggs/creating-a-custom-egg.mdx (2)
175-188: Excellent comprehensive documentation on install scripts.This section provides clear, actionable guidance on configuring install scripts, including the important distinction between
bashandashinterpreters for different base images.
225-267: Valuable practical guidance on install scripts.The warning about install container paths is critical, and the common patterns with exit code examples provide excellent practical guidance for egg creators.
Corrected capitalization and hyphenation in the documentation.
|
One thing, Can you update the Yolk section? |
Updated the Docker base image from openjdk:8-jdk-alpine to eclipse-temurin:8-jdk-noble for improved Java support.
|
apologies @notAreYouScared , i forgot we moved to eclipse-temurin. this has been corrected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/eggs/creating-a-custom-egg.mdx(1 hunks)docs/eggs/creating-a-custom-yolk.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-yolk.mdx
[style] ~12-~12: Consider a more concise word here.
Context: ...org) as much as possible for our images in order to keep their size down. ```dockerfile # ...
(IN_ORDER_TO_PREMIUM)
[style] ~75-~75: Consider a more concise word here.
Context: ...rypoint.sh"] ``` ## Entrypoint Script In order to complete this Dockerfile, we will nee...
(IN_ORDER_TO_PREMIUM)
docs/eggs/creating-a-custom-egg.mdx
[style] ~61-~61: Try moving the adverb to make the sentence clearer.
Context: ...ame implies, this should be the command used to safely stop the server. For some games, this is stop or `end...
(SPLIT_INFINITIVE)
[style] ~73-~73: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...scriptor. Wings will process this block prior to booting the server to ensure all of the...
(EN_WORDINESS_PREMIUM_PRIOR_TO)
[style] ~73-~73: Consider removing “of” to be more concise
Context: ...k prior to booting the server to ensure all of the required settings are defined and set c...
(ALL_OF_THE)
[style] ~154-~154: Consider an alternative for the often overused word ‘important’.
Context: ...file to perform actions, thus it is not important for the user to see. Finally, you will...
(NOT_IMPORTANT)
[style] ~156-~156: Consider removing “of” to be more concise
Context: ...10 characters in length. You can find all of the available validation rules in the [Lara...
(ALL_OF_THE)
🔇 Additional comments (1)
docs/eggs/creating-a-custom-egg.mdx (1)
47-47: No changes required. The Yolk Repo has already been updated to use current Java images (eclipse-temurin).
Updated the Docker base image from 'eclipse-temurin:8-jdk-noble' to 'eclipse-temurin:8-jdk-alpine' for a smaller footprint.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
docs/eggs/creating-a-custom-yolk.mdx (2)
8-43: Previous critical issues successfully resolved! ✅Great work addressing the previous review feedback! The documentation now correctly and consistently uses:
- Alpine-based image (
eclipse-temurin:8-jdk-alpine)- Alpine package manager (
apk)- Alpine user creation command (
adduser --disabled-password)This resolves both the critical package manager mismatch and the inconsistency between the stated Alpine preference and the example.
Optional style suggestion
If you'd like to make the prose more concise, consider simplifying line 12:
-We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images in order to keep their size down. +We try to make use of [Alpine Linux](https://alpinelinux.org) as much as possible for our images to keep their size down.This is purely stylistic and entirely optional.
74-93: Standard entrypoint pattern correctly implemented.The entrypoint script follows the established Pelican/Pterodactyl pattern for variable interpolation. The sed/eval approach for replacing
{{VARIABLE}}placeholders with environment variables is the documented method for these panels.Optional style suggestion
For consistency with the earlier suggestion, line 75 could be simplified:
-In order to complete this `Dockerfile`, we will need an `entrypoint.sh` file which tells Docker how to run this specific server type. +To complete this `Dockerfile`, we will need an `entrypoint.sh` file which tells Docker how to run this specific server type.Again, purely stylistic and optional.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/eggs/creating-a-custom-yolk.mdx(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/eggs/creating-a-custom-yolk.mdx
[style] ~12-~12: Consider a more concise word here.
Context: ...org) as much as possible for our images in order to keep their size down. ```dockerfile # ...
(IN_ORDER_TO_PREMIUM)
[style] ~75-~75: Consider a more concise word here.
Context: ...rypoint.sh"] ``` ## Entrypoint Script In order to complete this Dockerfile, we will nee...
(IN_ORDER_TO_PREMIUM)
🔇 Additional comments (4)
docs/eggs/creating-a-custom-yolk.mdx (4)
1-6: Excellent introduction with appropriate warnings.The documentation clearly sets expectations by referencing the specific example image and prerequisites. This helps users understand the context before diving into the tutorial.
45-47: Good explanation of Docker best practices.The documentation correctly highlights important optimization techniques (--no-cache flag and single RUN block) that keep container images lean.
49-61: Critical requirements properly documented and emphasized.The warning box correctly highlights the mandatory requirements for Pelican containers (user named
containerwith home at/home/container). The Alpine-specificaddusersyntax is correct.
95-136: Clear explanation with practical examples.The step-by-step breakdown of how the
MODIFIED_STARTUPvariable replacement works is excellent, with concrete examples showing the transformation from template to final command. The note aboutchmod +xis a helpful practical tip.
|
I am going to have to pull this locally to look at it in depth. |

This add the missing egg docs modified from pterodactyl and added some extras.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.