Skip to content

update: dockerImage on Minecraft#2

Merged
RizonFTW merged 3 commits into
mainfrom
update/mcdocker
May 27, 2026
Merged

update: dockerImage on Minecraft#2
RizonFTW merged 3 commits into
mainfrom
update/mcdocker

Conversation

@RizonFTW
Copy link
Copy Markdown
Contributor

@RizonFTW RizonFTW commented May 27, 2026

Description

Please provide a brief description of the changes introduced in this pull request.

Related Issues

Closes #<issue_number>

Checklist

  • My code follows the code style of this project.
  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have updated the documentation, if necessary.
  • I have added tests that prove my fix is effective or my feature works.
  • New and existing tests pass locally with my changes.

Screenshots (if applicable)

Additional Notes

Summary by CodeRabbit

  • New Features
    • Added a Docker image selection setting for Minecraft with multiple Java-based image options and a sensible default.
    • The Minecraft server configuration now uses the selected Docker image when generating the deployment, so your chosen Java image is applied consistently.

Review Change Stack

@RizonFTW RizonFTW requested a review from NodeByteLTD as a code owner May 27, 2026 19:53
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 27, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Warning

Review limit reached

@NodeByteLTD, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 57 minutes and 17 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f239defb-94ec-42d4-b979-b9a72e9e3359

📥 Commits

Reviewing files that changed from the base of the PR and between 9fad01d and e7631e2.

📒 Files selected for processing (1)
  • minecraft/index.ts
📝 Walkthrough

Walkthrough

Moves Docker image configuration from a hardcoded mapping in install.ts into a new dockerImage select setting in minecraftSettings, and updates Compose generation and module imports/exports to use the new setting.

Changes

Docker Image Configuration Refactor

Layer / File(s) Summary
User-selectable Docker image setting
minecraft/settings.ts, minecraft/install.ts
Adds a dockerImage select setting (default ghcr.io/pterodactyl/yolks:java_25 with options) to minecraftSettings. Removes the module-level dockerImage mapping and changes Compose output to use settings.dockerImage for the minecraft service image.
Index import/export cleanup
minecraft/index.ts
Removes the now-unused import of dockerImage from ./install and removes the dockerImage entry from the exported minecraft object.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • NodeByteHosting/GSG#1: Both PRs touch the Minecraft dockerImage wiring (mapping/selection and how minecraft/install.ts sets the Compose minecraft service image).

Suggested reviewers

  • CodeMeAPixel
  • NodeByteLTD

Poem

🐰 I hopped through code to change a line,

From mapping hard to settings fine.
Java images now in a select parade,
Compose reads settings — no more fixed trade.
A tiny hop for cleaner aid.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is entirely a placeholder template with no actual content filled in—no description of changes, no issue reference, and all checklist items unchecked. Replace placeholder text with a concrete description of the changes, link related issues, and complete the checklist to document review and testing status.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title directly relates to the main change: moving dockerImage management from a hardcoded export to a user-configurable setting in Minecraft.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update/mcdocker

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
Copy Markdown

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
minecraft/install.ts (1)

5-16: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Restore the removed dockerImage export or update the caller.

minecraft/index.ts, Line 3 still imports dockerImage from ./install, so this refactor leaves the module in a typecheck-failing state. The current pipeline is already failing on that missing export.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@minecraft/install.ts` around lines 5 - 16, The export for dockerImage was
removed but is still imported by minecraft/index.ts causing type errors; either
reintroduce and export the dockerImage constant from this module (e.g., restore
a dockerImage symbol alongside buildMinecraftCompose) or update the importer in
minecraft/index.ts to use the new API (pass docker image via settings or read it
from buildMinecraftCompose arguments). Ensure the symbol name dockerImage is
present or change the import to the new property so TypeScript imports resolve.
🧹 Nitpick comments (1)
minecraft/settings.ts (1)

8-15: ⚡ Quick win

Add readable labels to the Docker image options.

This selector will otherwise show raw image URLs in the UI, which makes the new setting harder to use than the other Minecraft selects.

Proposed diff
     options: [
-      { value: "ghcr.io/pterodactyl/yolks:java_25" },
-      { value: "ghcr.io/pterodactyl/yolks:java_22" },
-      { value: "ghcr.io/pterodactyl/yolks:java_21" },
-      { value: "ghcr.io/pterodactyl/yolks:java_17" },
-      { value: "ghcr.io/pterodactyl/yolks:java_16" },
-      { value: "ghcr.io/pterodactyl/yolks:java_11" },
-      { value: "ghcr.io/pterodactyl/yolks:java_8" },
+      { label: "Java 25", value: "ghcr.io/pterodactyl/yolks:java_25" },
+      { label: "Java 22", value: "ghcr.io/pterodactyl/yolks:java_22" },
+      { label: "Java 21", value: "ghcr.io/pterodactyl/yolks:java_21" },
+      { label: "Java 17", value: "ghcr.io/pterodactyl/yolks:java_17" },
+      { label: "Java 16", value: "ghcr.io/pterodactyl/yolks:java_16" },
+      { label: "Java 11", value: "ghcr.io/pterodactyl/yolks:java_11" },
+      { label: "Java 8", value: "ghcr.io/pterodactyl/yolks:java_8" },
     ],
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@minecraft/settings.ts` around lines 8 - 15, The options array in
minecraft/settings.ts currently supplies only raw image URLs as { value: ... },
which shows ugly strings in the UI; update each entry in the options array (the
same array that lists ghcr.io/pterodactyl/yolks:java_*) to include a
human-readable label field (e.g., { value: "ghcr.io/pterodactyl/yolks:java_17",
label: "Yolks — Java 17" } or similar such as "Java 17 (Yolks)"), ensuring every
object has both value and label so the selector displays friendly names instead
of full image URLs.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@minecraft/install.ts`:
- Around line 5-16: The export for dockerImage was removed but is still imported
by minecraft/index.ts causing type errors; either reintroduce and export the
dockerImage constant from this module (e.g., restore a dockerImage symbol
alongside buildMinecraftCompose) or update the importer in minecraft/index.ts to
use the new API (pass docker image via settings or read it from
buildMinecraftCompose arguments). Ensure the symbol name dockerImage is present
or change the import to the new property so TypeScript imports resolve.

---

Nitpick comments:
In `@minecraft/settings.ts`:
- Around line 8-15: The options array in minecraft/settings.ts currently
supplies only raw image URLs as { value: ... }, which shows ugly strings in the
UI; update each entry in the options array (the same array that lists
ghcr.io/pterodactyl/yolks:java_*) to include a human-readable label field (e.g.,
{ value: "ghcr.io/pterodactyl/yolks:java_17", label: "Yolks — Java 17" } or
similar such as "Java 17 (Yolks)"), ensuring every object has both value and
label so the selector displays friendly names instead of full image URLs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ae5b3954-bccf-47a7-bccf-3495899d587f

📥 Commits

Reviewing files that changed from the base of the PR and between 444c9be and 9541463.

📒 Files selected for processing (2)
  • minecraft/install.ts
  • minecraft/settings.ts

Copy link
Copy Markdown

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
minecraft/index.ts (1)

9-38: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Restore dockerImage recipe field (or this PR cannot pass validation).

CI is currently failing because the recipe validator still requires a dockerImage field in minecraft/index.ts. Even though Compose now correctly uses settings.dockerImage, this object shape no longer matches the enforced schema.

Compatibility fix (until validator contract is updated)
 export const minecraft = {
   buildCompose,
+  dockerImage: minecraftSettings.dockerImage.default,
   description: "Minecraft is a sandbox game where you can build your own world.",
   enabled: true,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@minecraft/index.ts` around lines 9 - 38, The exported minecraft object is
missing the required dockerImage recipe field expected by the validator; add a
dockerImage property to the minecraft export (alongside settings and
buildCompose) and set it to the same value used in settings.dockerImage (or a
sensible default string) so the object shape matches the validator contract;
update the minecraft constant to include dockerImage while leaving
settings.dockerImage and buildCompose unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@minecraft/index.ts`:
- Around line 9-38: The exported minecraft object is missing the required
dockerImage recipe field expected by the validator; add a dockerImage property
to the minecraft export (alongside settings and buildCompose) and set it to the
same value used in settings.dockerImage (or a sensible default string) so the
object shape matches the validator contract; update the minecraft constant to
include dockerImage while leaving settings.dockerImage and buildCompose
unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 453b9a51-0097-443f-afa1-9a6e220dd6e7

📥 Commits

Reviewing files that changed from the base of the PR and between 9541463 and 9fad01d.

📒 Files selected for processing (1)
  • minecraft/index.ts

@RizonFTW RizonFTW merged commit 5ea9ff8 into main May 27, 2026
9 checks passed
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.

1 participant