diff --git a/Dockerfile b/Dockerfile index 8a5bb0c9..01cb2f28 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,6 +16,10 @@ RUN bun install --frozen-lockfile --ignore-scripts FROM deps AS builder WORKDIR /app COPY . . +# `deps` installs with --ignore-scripts, so the root postinstall never runs there +# and the patches/ directory is not present yet. Apply patch-package here, after +# the full source copy, so the web bundle ships the patched ghostty-web. +RUN bunx patch-package RUN bun run build:web FROM oven/bun:1.3.14 AS runtime @@ -53,6 +57,9 @@ RUN npm config set prefix /home/openchamber/.npm-global && mkdir -p /home/opench COPY --from=cloudflare/cloudflared@sha256:6d91c121b803126f7a5344005d17a9324788fc09d305b6e2560ec6040a7ae283 /usr/local/bin/cloudflared /usr/local/bin/cloudflared ENV NODE_ENV=production +# The base image ships with the POSIX locale, which makes bash readline treat +# every byte of a multibyte character separately in the built-in terminal. +ENV LANG=C.UTF-8 COPY scripts/docker-entrypoint.sh /home/openchamber/openchamber-entrypoint.sh