Skip to content

Conversation

@NerdsCorp
Copy link

@NerdsCorp NerdsCorp commented Nov 29, 2025

This add the missing egg docs modified from pterodactyl and added some extras.

Summary by CodeRabbit

  • Documentation
    • Added two comprehensive guides: one for creating/configuring custom eggs (metadata, startup, process management, config-file parsing and find/replace, variables, install scripts, readiness indicator) and one for building custom yolk Docker images with entrypoint/startup interpolation examples.
  • Chore
    • Added a new "Eggs" section to the site navigation.

✏️ Tip: You can customize this high-level summary in your review settings.

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.
@netlify
Copy link

netlify bot commented Nov 29, 2025

Deploy Preview for pelica ready!

Name Link
🔨 Latest commit d651331
🔍 Latest deploy log https://app.netlify.com/projects/pelica/deploys/694850ef0e85180008c42c8c
😎 Deploy Preview https://deploy-preview-177--pelica.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link

coderabbitai bot commented Nov 29, 2025

Walkthrough

Adds 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

Cohort / File(s) Summary
Egg Documentation
docs/eggs/creating-a-custom-egg.mdx
New comprehensive guide covering egg metadata (name, author, description), startup commands, file denylist, features/tags/update URL, Docker yolks naming/hosting, process management (Copy Settings From, Stop Command, Log Storage), configuration file parsers (file, yaml, properties, ini, json, xml), find/replace semantics (wildcards, multi-file), start configuration (done indicator), egg variables (env, permissions, validation), install script structure/patterns, container path warnings, and exit code examples.
Yolk (Docker Image) Documentation
docs/eggs/creating-a-custom-yolk.mdx
New guide showing how to build a yolk image (Alpine OpenJDK example): Dockerfile steps, creating a container user, ENV/WORKDIR, COPY/ENTRYPOINT/CMD, entrypoint.sh behavior, MODIFIED_STARTUP interpolation with placeholders (e.g., {{SERVER_MEMORY}}, {{SERVER_JARFILE}}), examples, and permission notes.
Sidebar Update
sidebars.ts
Adds a new "Eggs" sidebar category linking eggs/creating-a-custom-egg and eggs/creating-a-custom-yolk, placed between the existing "Wings" and "Guides" sections.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Files to inspect closely:
    • docs/eggs/creating-a-custom-egg.mdx — verify parser descriptions, find/replace wildcard semantics, multi-file examples, and any placeholder/variable examples for clarity and correctness.
    • docs/eggs/creating-a-custom-yolk.mdx — verify Dockerfile and entrypoint.sh examples, MODIFIED_STARTUP interpolation examples, and permission/USER guidance.
    • sidebars.ts — confirm new category ordering and that doc keys match site routing.

Poem

🐇 I hopped through docs beneath the moon,

I tucked in eggs and hummed a tune.
Entrypoints whisper, yolks take flight,
Placeholders dance into the night.
🍳✨ Hop, build, boot — everything's right.

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Add Egg Docs' is vague and generic. While it accurately describes that documentation was added, it lacks specificity about what the egg documentation covers and does not convey meaningful information about the scope or nature of the changes. Consider a more descriptive title such as 'Add documentation for creating custom eggs and yolks' to better reflect the content added.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a 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 clarity

A 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 STARTUP is 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 sections

Very 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 images

The 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

📥 Commits

Reviewing files that changed from the base of the PR and between 9eba985 and bcfbfab.

📒 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 patterns

The structure and examples (Alpine base, /home/container, container user, entrypoint.sh, and MODIFIED_STARTUP handling) 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 correct

The new “Creating Eggs” category is well placed between “Wings” and “Guides”, and the items:

  • eggs/creating-a-custom-egg
  • eggs/creating-a-custom-docker-image

match the added doc paths, so Docusaurus should resolve them correctly.

Corrected grammatical errors and improved clarity in the documentation.
Copy link

@coderabbitai coderabbitai bot left a 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 naming

The 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 placement

The 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 adjective

Use "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

📥 Commits

Reviewing files that changed from the base of the PR and between bcfbfab and 980ee05.

📒 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)

Copy link

@coderabbitai coderabbitai bot left a 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 this Dockerfile" 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

📥 Commits

Reviewing files that changed from the base of the PR and between 980ee05 and 61a5572.

📒 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 sed to convert {{VARIABLE}} to $VARIABLE syntax
  • 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_STARTUP variable 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.
@NerdsCorp
Copy link
Author

@rmartinoscar changes have been made, i did change some of the wording as well, only because the panel shows Docker Images rather than yolks.
image

Copy link

@coderabbitai coderabbitai bot left a 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_limit starts 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

📥 Commits

Reviewing files that changed from the base of the PR and between 61a5572 and a77326b.

📒 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 (container user with /home/container home) 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, ^C for 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.

@NerdsCorp
Copy link
Author

closes issue #151

@NerdsCorp NerdsCorp requested a review from parkervcp December 19, 2025 23:51
Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between a77326b and 4d54e41.

📒 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/server vs /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.

@NerdsCorp
Copy link
Author

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Dec 20, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Corrected typos and improved clarity in documentation.
Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 4d54e41 and d8bb4ec.

📒 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.port as 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.
Copy link

@coderabbitai coderabbitai bot left a 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_limit row 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.
Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 019234d and dec3695.

📒 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 bash and ash interpreters 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.
@notAreYouScared
Copy link
Member

One thing, Can you update the Yolk section? openjdk is dead.

Updated the Docker base image from openjdk:8-jdk-alpine to eclipse-temurin:8-jdk-noble for improved Java support.
@NerdsCorp
Copy link
Author

NerdsCorp commented Dec 21, 2025

apologies @notAreYouScared , i forgot we moved to eclipse-temurin. this has been corrected.

Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between dec3695 and 2a652dd.

📒 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.
Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 2a652dd and d651331.

📒 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 container with home at /home/container). The Alpine-specific adduser syntax is correct.


95-136: Clear explanation with practical examples.

The step-by-step breakdown of how the MODIFIED_STARTUP variable replacement works is excellent, with concrete examples showing the transformation from template to final command. The note about chmod +x is a helpful practical tip.

@parkervcp
Copy link
Contributor

I am going to have to pull this locally to look at it in depth.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants