Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@drizzer
Copy link

@drizzer drizzer commented Jan 28, 2026

Added instructions for deploying Tanstack Start applications on Dokploy using Railpack or with a Dockerfile.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive Dokploy deployment guide with two deployment approaches: Railpack-based deployment and Docker-based deployment using Bun.
    • Included step-by-step configuration instructions for setting up Dokploy project settings and deployment workflows.

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

Added instructions for deploying Tanstack Start applications on Dokploy using Railpack or with a Dockerfile.
@github-actions github-actions bot added the documentation Everything documentation related label Jan 28, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

📝 Walkthrough

Walkthrough

A documentation update adds a new Dokploy deployment guide to the React router production deployment page. The guide presents two approaches: Railpack configuration and a complete Dockerfile example using Bun with multi-stage builds. The existing Firebase Hosting section is preserved and reordered.

Changes

Cohort / File(s) Summary
Documentation: Deployment Guide
docs/router/framework/react/how-to/deploy-to-production.md
Introduces new Dokploy Deployment section with Railpack configuration instructions and a multi-stage Dockerfile example using Bun runtime. Adds Dokploy Project Config section for Docker settings. Firebase Hosting section relocated.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A hopping guide now springs to life,
With Dokploy magic, free from strife!
Railpack and Docker, Bun so fleet,
Deployment paths are now complete! 📦✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding Dokploy deployment instructions to documentation. It is concise, directly related to the changeset, and summarizes the primary purpose.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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


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
Contributor

@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

🤖 Fix all issues with AI agents
In `@docs/router/framework/react/how-to/deploy-to-production.md`:
- Around line 260-266: Update the base image FROM line currently pinning
oven/bun:1.3.2-alpine to the latest stable 1.3.5 and consider using the
glibc/debian variant for better native-module compatibility; specifically change
the Dockerfile's FROM statements (the "FROM oven/bun:1.3.2-alpine AS base" and
any subsequent base references such as "FROM base AS deps") to use either
"oven/bun:1.3.5" or "oven/bun:1.3.5-debian" so the build uses the updated Bun
release and, if needed for bcrypt/sharp/Prisma, the glibc-compatible image.

Comment on lines +260 to +266
FROM oven/bun:1.3.2-alpine AS base
WORKDIR /app

# Install dependencies stage
FROM base AS deps
COPY package.json bun.lock ./
RUN bun install
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

latest stable Bun Docker image version oven/bun 2025

💡 Result:

The latest stable oven/bun Docker image version released in 2025 is Bun 1.3.5 (released December 17, 2025). [1]

Use (stable release tags):

  • oven/bun:1.3.5 (exact)
  • oven/bun:1.3 / oven/bun:1 / oven/bun:latest (moving stable tags)
  • Variant example: oven/bun:1.3.5-debian [2]

Not stable: oven/bun:canary (nightly/bleeding-edge). [3]

Sources:
[1] https://bun.com/blog/bun-v1.3.5
[2] https://docker.aityp.com/image/docker.io/oven/bun%3A1.3.5-debian
[3] https://hub.docker.com/r/oven/bun


🌐 Web query:

TanStack Start Bun version requirements production deployment

💡 Result:

For production deployment of a TanStack Start app on Bun, the current official guidance boils down to:

  • React requirement (critical): Bun-specific deployment instructions currently only work with React 19 (i.e., react and react-dom >= 19.0.0). If you’re on React 18, use the Node.js deployment path instead. [1]
  • Bun version pinning (notably for Vercel): When deploying to Vercel with Bun, set a Bun runtime version such as "bunVersion": "1.x" (or configure Nitro/Vercel runtime as bun1.x). [2]
  • How production is typically run on Bun: Use Nitro output and start the built server with Bun (e.g. bun run .output/server/index.mjs), and you may need Nitro’s preset: "bun" depending on how you build/invoke Nitro. [1][2]

Sources: TanStack Start “Hosting” docs (React) [1] and Bun’s “Use TanStack Start with Bun” deployment guide [2].


🌐 Web query:

Dokploy Bun Docker compatibility requirements

💡 Result:

Dokploy doesn’t impose Bun-specific Docker constraints beyond “it must be a containerized app”: Dokploy can deploy apps via your own Dockerfile, Docker Compose, or auto-build (Nixpacks/Heroku buildpacks). (dokploy.com)

For Bun in Docker, the practical compatibility requirements are mainly about the base image libc/OS choice:

  • Recommended (most compatible): glibc images (e.g., FROM oven/bun:latest or Debian-based equivalents). glibc generally has broader compatibility with native dependencies than musl (Alpine). (docs.docker.com)
  • Alpine support (musl): Bun supports Alpine/musl builds (and oven/bun:alpine). This is fine for many apps, but musl can be less compatible (and sometimes slower) than glibc, especially when native addons/binaries are involved. (bun.com)
  • If you use native modules on Alpine: you may need extra build/runtime packages (common issue with things like bcrypt), or choose a glibc-based image instead. (hub.docker.com)

If you tell me (1) whether you deploy via Dockerfile vs Nixpacks, and (2) whether you depend on native modules (bcrypt, sharp, prisma engines, etc.), I can suggest the safest Bun base image and a minimal Dockerfile for Dokploy.

Citations:


🏁 Script executed:

cat -n docs/router/framework/react/how-to/deploy-to-production.md | head -300 | tail -50

Repository: TanStack/router

Length of output: 1521


Update Bun image to latest stable version 1.3.5 and consider glibc variant for better compatibility.

The pinned oven/bun:1.3.2-alpine is outdated; the latest stable version is 1.3.5 (released December 17, 2025). Additionally, the Alpine variant uses musl which has less compatibility with native dependencies compared to glibc-based images. Consider updating to oven/bun:1.3.5 or oven/bun:1.3.5-debian for broader compatibility, particularly if your TanStack Start app uses native modules like bcrypt, sharp, or Prisma engines.

🤖 Prompt for AI Agents
In `@docs/router/framework/react/how-to/deploy-to-production.md` around lines 260
- 266, Update the base image FROM line currently pinning oven/bun:1.3.2-alpine
to the latest stable 1.3.5 and consider using the glibc/debian variant for
better native-module compatibility; specifically change the Dockerfile's FROM
statements (the "FROM oven/bun:1.3.2-alpine AS base" and any subsequent base
references such as "FROM base AS deps") to use either "oven/bun:1.3.5" or
"oven/bun:1.3.5-debian" so the build uses the updated Bun release and, if needed
for bcrypt/sharp/Prisma, the glibc-compatible image.

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

Labels

documentation Everything documentation related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant