merge: bring Dockerfile Node 22 fix from main

This commit is contained in:
Kunthawat Greethong
2026-06-09 13:33:30 +07:00
2 changed files with 15 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
# ===================================================================== # =====================================================================
# Stage 1: Build the Astro static site # Stage 1: Build the Astro static site
# ===================================================================== # =====================================================================
FROM node:20-alpine AS builder FROM node:22-alpine AS builder
WORKDIR /app WORKDIR /app

View File

@@ -73,6 +73,20 @@ curl -sS -X POST \
A 2xx response = the panel accepted the trigger. The service will start A 2xx response = the panel accepted the trigger. The service will start
rebuilding/redploying in the EasyPanel dashboard. rebuilding/redploying in the EasyPanel dashboard.
## Common failure: "No start command could be found" (nixpacks)
Astro builds to static files in `dist/` — there is no Node server to run.
Nixpacks tries to find a `start` command and fails. The Dockerfile in
this repo handles this with a two-stage build (node:22-alpine build +
nginx:1.27-alpine serve).
## Common failure: "Node.js v20.x is not supported by Astro"
Astro 6 requires Node `>=22.12.0`. The Dockerfile uses `node:22-alpine`.
If you see this error, the panel is probably reading a stale `node:20`
cached image. Push an empty commit to force a rebuild, or clear the
panel's image cache from the EasyPanel UI.
## Common failure: "Failed to sync changes" (HTTP 500) ## Common failure: "Failed to sync changes" (HTTP 500)
This is a **server-side** error, not a payload problem. It usually means: This is a **server-side** error, not a payload problem. It usually means: