Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion apps/space/Dockerfile.space
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ RUN pnpm turbo run build --filter=space

FROM base AS runner

RUN apk add --no-cache curl

Comment on lines +81 to +82
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

🏁 Script executed:

#!/bin/bash
# Check if other Plane Dockerfiles use libc6-compat and where they install it

echo "=== Checking libc6-compat usage in other Dockerfiles ==="
fd -name 'Dockerfile*' -type f | xargs rg -n 'libc6-compat' || echo "No libc6-compat found"

echo ""
echo "=== Checking Dockerfile.space content ==="
cat apps/space/Dockerfile.space | head -100

echo ""
echo "=== Checking for package.json in space app ==="
fd -path '**/space/package.json' -type f

Repository: makeplane/plane

Length of output: 4098


🏁 Script executed:

#!/bin/bash
# Find and check space app package.json

echo "=== Finding space package.json ==="
find . -path '*/apps/space/package.json' -type f

echo ""
echo "=== Checking space package.json dependencies ==="
if [ -f "apps/space/package.json" ]; then
  cat apps/space/package.json
else
  echo "File not found at expected location"
fi

Repository: makeplane/plane

Length of output: 2549


Add libc6-compat to the base stage for consistency with other production Dockerfiles.

libc6-compat is missing from Dockerfile.space but present in all other production Dockerfiles (web, live). This is also already included in Dockerfile.dev (line 3). Add it to the base stage after line 8 (RUN corepack enable pnpm) to ensure consistency across the codebase and follow Alpine + Node.js best practices.

🤖 Prompt for AI Agents
In apps/space/Dockerfile.space (around lines 8 and 81-82), the base stage is
missing libc6-compat which other production Dockerfiles include; add
libc6-compat to the base stage by inserting a RUN apk add --no-cache
libc6-compat (or add it to the existing RUN apk add --no-cache curl line)
immediately after the RUN corepack enable pnpm line to match the project
standard and Alpine+Node best practices.

COPY --from=installer /app/apps/space/build ./apps/space/build
COPY --from=installer /app/apps/space/node_modules ./apps/space/node_modules
COPY --from=installer /app/node_modules ./node_modules
Expand All @@ -87,6 +89,6 @@ WORKDIR /app/apps/space
EXPOSE 3000

HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD curl -fsS http://127.0.0.1:3000/ >/dev/null || exit 1
CMD curl -fsS http://127.0.0.1:3000/spaces/ >/dev/null || exit 1
Copy link

Choose a reason for hiding this comment

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

Bug: Hardcoded healthcheck path ignores configurable base path

The healthcheck path /spaces/ is hardcoded, but VITE_SPACE_BASE_PATH is a configurable build argument (default /spaces) that determines where the application serves content. If someone builds with a custom --build-arg VITE_SPACE_BASE_PATH="/custom-path", the application would be built to serve at /custom-path/ while the healthcheck still checks /spaces/, causing the container to be incorrectly marked as unhealthy.

Fix in Cursor Fix in Web


CMD ["npx", "react-router-serve", "./build/server/index.js"]
Loading