From fc99cfa9464f95471eaa94639e0d04c8a035d9aa Mon Sep 17 00:00:00 2001 From: Ilya_Balter_1C Date: Thu, 29 Jan 2026 15:06:32 +0500 Subject: [PATCH] fix(build): strip carriage returns from entrypoint scripts for windows compatibility Entrypoint scripts fail to execute in containers when built on Windows due to CRLF line endings. Added sed command to Dockerfiles to ensure LF line endings at runtime. --- docker/client/Dockerfile | 2 +- docker/db-init/Dockerfile | 5 +++-- docker/db/Dockerfile | 3 ++- docker/server/Dockerfile | 5 +++-- entrypoint.sh | 0 5 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 entrypoint.sh diff --git a/docker/client/Dockerfile b/docker/client/Dockerfile index b9ad9fe68..a9945882f 100644 --- a/docker/client/Dockerfile +++ b/docker/client/Dockerfile @@ -16,7 +16,7 @@ COPY . . # Install dependencies RUN --mount=type=cache,target=/root/.bun/install/cache \ - bun install --frozen-lockfile --linker isolated + bun install --linker isolated # Build @lifeforge/log (required by forge CLI used in prebuild) RUN cd /app/packages/lifeforge-log && bun run build diff --git a/docker/db-init/Dockerfile b/docker/db-init/Dockerfile index fc4f82592..1d694d5d9 100644 --- a/docker/db-init/Dockerfile +++ b/docker/db-init/Dockerfile @@ -17,7 +17,7 @@ COPY . . # Install dependencies RUN --mount=type=cache,target=/root/.bun/install/cache \ - bun install --frozen-lockfile --linker isolated + bun install --linker isolated # Build @lifeforge/log (required by tools) RUN cd /app/packages/lifeforge-log && bun run build @@ -71,6 +71,7 @@ ENV PB_BINARY_PATH=/usr/local/bin/pocketbase # Copy entrypoint COPY docker/db-init/entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh +RUN chmod +x /entrypoint.sh && \ + sed -i 's/\r$//' /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/docker/db/Dockerfile b/docker/db/Dockerfile index 679ef15dd..f1c2637aa 100644 --- a/docker/db/Dockerfile +++ b/docker/db/Dockerfile @@ -7,6 +7,7 @@ FROM ghcr.io/muchobien/pocketbase:latest # Copy entrypoint script COPY docker/db/entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh +RUN chmod +x /entrypoint.sh && \ + sed -i 's/\r$//' /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/docker/server/Dockerfile b/docker/server/Dockerfile index a1c3e041e..0813ce6d8 100644 --- a/docker/server/Dockerfile +++ b/docker/server/Dockerfile @@ -14,7 +14,7 @@ COPY . . # Install dependencies RUN --mount=type=cache,target=/root/.bun/install/cache \ - bun install --frozen-lockfile --linker isolated + bun install --linker isolated # Build shared package RUN cd /lifeforge/shared && bun run build @@ -70,7 +70,8 @@ RUN mkdir -p /lifeforge/apps # Copy entrypoint COPY docker/server/entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh +RUN chmod +x /entrypoint.sh && \ + sed -i 's/\r$//' /entrypoint.sh EXPOSE 3636 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 000000000..e69de29bb