From da8a7f17a45931714e619209fdd42c712f5ef528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Markovi=C4=87?= Date: Thu, 23 Apr 2026 22:23:26 +0400 Subject: [PATCH] Make docker startup work on a cold cache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Frontend: tsc was running before vite, but the routeTree.gen.ts that the routes import is generated by the Vite plugin at startup — fresh container had no cache, so tsc failed before vite ever ran. Reverse the order: vite first (generates routeTree), then tsc --noEmit validates types. Backend: run `directus database migrate:latest` before start; the deployed SQLite is on an old schema (Directus 10.x) and `directus start` aborts on the missing `searchable` column. Both services: set CI=true so pnpm doesn't prompt for `node_modules` purge on a non-TTY container, and use `sh -ec` so a failed step halts the script instead of falling through to `pnpm run start`. --- docker-compose.yml | 9 +++++++-- frontend/package.json | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index eef6203..b5aecca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,15 +17,18 @@ services: labels: caddy: admin.pca-pijac.dev.civokram.com caddy.reverse_proxy: '{{upstreams 8055}}' + environment: + CI: "true" command: - sh - - -c + - -ec - | npm i -g pnpm cd /repo pnpm install --filter ./backend... --frozen-lockfile --prod cd /repo/backend rm -f .env + pnpm exec directus database migrate:latest pnpm run start frontend: @@ -43,9 +46,11 @@ services: labels: caddy: pca-pijac.dev.civokram.com caddy.reverse_proxy: '{{upstreams 3000}}' + environment: + CI: "true" command: - sh - - -c + - -ec - | npm i -g pnpm cd /repo diff --git a/frontend/package.json b/frontend/package.json index 5cbc88d..a9274bc 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,7 +10,7 @@ "packageManager": "pnpm@10.33.2", "scripts": { "dev": "vite", - "build": "tsc -b && vite build", + "build": "vite build && tsc -b --noEmit", "preview": "vite preview", "start": "vite preview --host 0.0.0.0 --port 3000", "typecheck": "tsc -b --noEmit",