diff --git a/Dockerfile b/Dockerfile index cf27baf6..8f5ed7b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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/ diff --git a/deploy.sh b/deploy.sh index 24535741..4304d95d 100755 --- a/deploy.sh +++ b/deploy.sh @@ -74,9 +74,9 @@ deploy() { # Clean up stale renamed containers left by failed recreates (e.g. "d420a6c00439_backspace") ssh "$PI_USER@$host" "cd $path && docker rm -f \$(docker ps -aq --filter 'name=_backspace' 2>/dev/null) 2>/dev/null; docker compose up -d --build" - # Prune old images and build cache to prevent disk bloat + # Prune old images; keep build cache capped at 2GB for fast rebuilds echo " [4/4] Pruning stale Docker data..." - ssh "$PI_USER@$host" "docker image prune -af --filter 'until=24h' 2>/dev/null; docker builder prune -af --filter 'until=24h' 2>/dev/null" || true + ssh "$PI_USER@$host" "docker image prune -af --filter 'until=24h' 2>/dev/null; docker builder prune -f --keep-storage=2GB 2>/dev/null" || true echo "" echo " Done: $name" @@ -114,8 +114,9 @@ case "$TARGET" in all|both) PI_HOST=$(resolve_pi_host) - deploy "Pi" "$PI_HOST" "$PI_PATH" - deploy "Beta VM" "$BETA_HOST" "$BETA_PATH" + deploy "Pi" "$PI_HOST" "$PI_PATH" & + deploy "Beta VM" "$BETA_HOST" "$BETA_PATH" & + wait ;; *) diff --git a/packages/server/package.json b/packages/server/package.json index afc00da7..00b15c50 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -26,7 +26,8 @@ "fastify": "^4.28.1", "jsonwebtoken": "^9.0.2", "livekit-server-sdk": "^2.6.1", - "sharp": "^0.33.0" + "sharp": "^0.33.0", + "tsx": "^4.16.0" }, "devDependencies": { "@types/bcryptjs": "^2.4.6", @@ -35,7 +36,6 @@ "@types/node": "^20.14.0", "@types/ws": "^8.18.1", "drizzle-kit": "^0.24.0", - "tsx": "^4.16.0", "typescript": "^5.4.0", "vitest": "^4.0.18" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6135e326..d05676c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,6 +82,9 @@ importers: sharp: specifier: ^0.33.0 version: 0.33.5 + tsx: + specifier: ^4.16.0 + version: 4.21.0 devDependencies: '@types/bcryptjs': specifier: ^2.4.6 @@ -101,9 +104,6 @@ importers: drizzle-kit: specifier: ^0.24.0 version: 0.24.2 - tsx: - specifier: ^4.16.0 - version: 4.21.0 typescript: specifier: ^5.4.0 version: 5.9.3