Skip to content

Update railpack version to 0.19.0#4022

Open
jdjimenez2312 wants to merge 2 commits intoDokploy:canaryfrom
jdjimenez2312:update-Railpack-version-to-0.19.0
Open

Update railpack version to 0.19.0#4022
jdjimenez2312 wants to merge 2 commits intoDokploy:canaryfrom
jdjimenez2312:update-Railpack-version-to-0.19.0

Conversation

@jdjimenez2312
Copy link

@jdjimenez2312 jdjimenez2312 commented Mar 18, 2026

What is this PR about?

Please describe in a short paragraph what this PR is about.

Update railpack version to 0.19.0

Before submitting this PR, please make sure that:

Greptile Summary

This PR bumps the Railpack build tool from version 0.15.4 to 0.19.0, correctly updating the Dockerfile, the database schema default, the drizzle migration, the server setup script, and the UI version list. However, five hardcoded "0.15.4" string literals remain in show.tsx that were not updated alongside the rest of the changes, causing the UI to still default to and badge the old version.

Key issues found:

  • The Zod form schema default for railpackVersion is still "0.15.4" (line 100), so newly created applications via the UI form will start with the old version pre-selected.
  • The API call fallback (data.railpackVersion || "0.15.4", line 236) will persist the old version to the database if the field is ever empty.
  • The "Use predefined versions" reset handler (line 474), the Select fallback value (line 490), and the "Latest" badge condition (line 504) all still reference "0.15.4" — meaning 0.15.4 will appear visually labelled as "Latest" in the dropdown even after this update.
  • In server-setup.ts, the install function skips execution when railpack is already present without checking the installed version, so existing servers will not be upgraded.

Confidence Score: 2/5

  • Not safe to merge as-is — the UI layer still defaults to and labels the old version, causing inconsistency between the backend and frontend.
  • The Dockerfile, DB schema, migration, and server setup are all correctly updated, but the frontend form in show.tsx has five stale "0.15.4" references. This means users interacting with the build settings UI will see the wrong default and a misleading "Latest" badge on the old version, and in some code paths the old version could be persisted to the database.
  • apps/dokploy/components/dashboard/application/build/show.tsx requires attention — multiple stale version references need to be updated from "0.15.4" to "0.19.0" (or ideally RAILPACK_VERSIONS[0] to be future-proof).

Comments Outside Diff (5)

  1. apps/dokploy/components/dashboard/application/build/show.tsx, line 100 (link)

    P1 Stale default version in Zod schema

    The Zod schema default for railpackVersion still references "0.15.4" instead of the new version "0.19.0". This means that when a user creates a new application with Railpack build type through the UI form, the form will initially populate with the outdated version.

  2. apps/dokploy/components/dashboard/application/build/show.tsx, line 236 (link)

    P1 Stale fallback version in API call

    The fallback used when saving the build type still references "0.15.4". If railpackVersion is falsy for any reason, the API call will store the outdated version in the database, even though the database default and all other places have been updated to "0.19.0".

  3. apps/dokploy/components/dashboard/application/build/show.tsx, line 474-490 (link)

    P1 Stale version references in version selector

    Three separate "0.15.4" references remain in the version selector UI:

    1. Line 474 — When the user clicks "Use predefined versions" to exit manual input mode, the field is reset to "0.15.4" instead of "0.19.0".
    2. Line 490 — The Select component's value prop falls back to "0.15.4" when field.value is nullish, so the dropdown will appear to select the old version.
    3. Line 504 — The "Latest" badge is hard-coded to the string "0.15.4", so version 0.15.4 will still be visually labelled as the latest version instead of 0.19.0.

    Consider using RAILPACK_VERSIONS[0] for the badge check and version fallback, so future version bumps only need to be made in the RAILPACK_VERSIONS array:

  4. apps/dokploy/components/dashboard/application/build/show.tsx, line 504 (link)

    P1 "Latest" badge still points to the old version

    The badge condition is hardcoded to "0.15.4", so users will see 0.15.4 labelled as "Latest" in the version dropdown even though 0.19.0 is now the current default. Using RAILPACK_VERSIONS[0] keeps this dynamic and avoids needing to update it on every version bump.

  5. apps/dokploy/components/dashboard/application/build/show.tsx, line 464 (link)

    P2 Placeholder still references old version

    The placeholder text in the manual version input still shows 0.15.4 as an example. While this is just a UI hint, it is misleading for users who are trying to enter the newest version.

Last reviewed commit: "Migration"

Greptile also left 1 inline comment on this PR.

(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!

@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. pr-open labels Mar 18, 2026
@dosubot
Copy link

dosubot bot commented Mar 18, 2026

Related Documentation

1 document(s) may need updating based on files changed in this PR:

Dokploy's Space

CONTRIBUTING /dokploy/blob/canary/CONTRIBUTING.md
View Suggested Changes
@@ -154,7 +154,7 @@
 
 ```bash
 # Install Railpack
-curl -sSL https://railpack.com/install.sh | sh
+export RAILPACK_VERSION=0.19.0 && curl -sSL https://railpack.com/install.sh | sh
 ```
 
 ```bash

[Accept] [Decline]

Note: You must be authenticated to accept/decline updates.

How did I do? Any feedback?  Join Discord

Comment on lines 701 to 706
if command_exists railpack; then
echo "Railpack already installed ✅"
else
export RAILPACK_VERSION=0.15.4
export RAILPACK_VERSION=0.19.0
bash -c "$(curl -fsSL https://railpack.com/install.sh)"
echo "Railpack version $RAILPACK_VERSION installed ✅"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Existing installations won't be upgraded

The installRailpack function skips installation entirely if railpack is already present, without checking which version is installed. This means that existing server instances already running railpack 0.15.4 (or any older version) will not be upgraded to 0.19.0 when the setup script is re-run.

Consider adding a version check so the installer upgrades when the detected version is older than the expected one:

if command_exists railpack; then
    INSTALLED=$(railpack --version 2>/dev/null || echo "0.0.0")
    if [ "$INSTALLED" = "0.19.0" ]; then
        echo "Railpack already installed ✅"
    else
        echo "Upgrading Railpack from $INSTALLED to 0.19.0..."
        export RAILPACK_VERSION=0.19.0
        bash -c "$(curl -fsSL https://railpack.com/install.sh)"
        echo "Railpack version $RAILPACK_VERSION installed ✅"
    fi
else
    export RAILPACK_VERSION=0.19.0
    bash -c "$(curl -fsSL https://railpack.com/install.sh)"
    echo "Railpack version $RAILPACK_VERSION installed ✅"
fi

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

Labels

pr-open size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant