perf(deploy): parallel deploys, preserve build cache, prod-only runtime deps

Three changes to cut deploy time:
1. deploy.sh: Pi and VM deploy concurrently (wall time = max, not sum)
2. deploy.sh: Build cache capped at 2GB instead of nuked after 24h,
   so pnpm install layer is reused between deploys
3. Dockerfile: runtime stage uses --prod (skip devDeps). Moved tsx
   from devDependencies to dependencies since it's used in CMD.
This commit is contained in:
Jannis Braun
2026-04-01 13:13:17 +02:00
parent f2ca7295d0
commit b1efeda1f3
4 changed files with 12 additions and 11 deletions
+2 -2
View File
@@ -57,8 +57,8 @@ COPY packages/web/package.json packages/web/
# Copy patches (referenced by pnpm-lock.yaml)
COPY patches/ patches/
# Install production dependencies only (plus tsx for running TS)
RUN pnpm install --frozen-lockfile || pnpm install
# Install production dependencies only (tsx is in server dependencies)
RUN pnpm install --prod --frozen-lockfile || pnpm install --prod
# Copy shared source (needed at runtime since server imports types directly)
COPY packages/shared/ packages/shared/