@@ -12,20 +12,25 @@ effective: |
1212 builders:
1313 install:
1414 fromImage:
15- path: oven/bun
16- digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a
15+ path: node
16+ digest: sha256:242549cd46785b480c832479a730f4f2a20865d61ea2e404fdb2a5c3d3b73ecf
1717 label:
18- org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a
18+ org.opencontainers.image.base.name: docker.io/node:24-slim
19+ org.opencontainers.image.base.digest: sha256:242549cd46785b480c832479a730f4f2a20865d61ea2e404fdb2a5c3d3b73ecf
1920 org.opencontainers.image.stage: install
20- org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6
2121 workdir: /app/
2222 run:
23- - bun install --production --frozen-lockfile --verbose
23+ - corepack enable pnpm
24+ - pnpm install --prod --frozen-lockfile --verbose
2425 cache:
25- - target: /root/.bun/install/cache
26+ - target: /root/.local/share/pnpm/store
2627 bind:
27- - target: bunfig.toml
28- source: bunfig.toml
28+ - target: pnpm-workspace.yaml
29+ source: pnpm-workspace.yaml
30+ - target: pnpm-lock.yaml
31+ source: pnpm-lock.yaml
32+ - target: patches
33+ source: patches
2934 - target: package.json
3035 source: package.json
3136 - target: apps/server/package.json
@@ -97,9 +102,9 @@ effective: |
97102 path: oven/bun
98103 digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a
99104 label:
100- org.opencontainers.image.stage: build
101- org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6
102105 org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a
106+ org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6
107+ org.opencontainers.image.stage: build
103108 workdir: /app/apps/server
104109 env:
105110 NODE_ENV: production
@@ -111,20 +116,28 @@ effective: |
111116 paths:
112117 - /app/node_modules
113118 target: /app/node_modules
119+ - fromBuilder: install
120+ paths:
121+ - /app/apps/server/node_modules
122+ target: /app/apps/server/node_modules
123+ - fromBuilder: install
124+ paths:
125+ - /app/packages
126+ target: /app/packages
114127 run:
115128 - bun build --compile --sourcemap src/index.ts --outfile=app
116129 fromImage:
117130 path: debian
118- digest: sha256:1a4701c321b1d28b1ff5f0230e766791e4b79b1d4c6c7a70064f4b297b1a330f
131+ digest: sha256:cd1bc32f233a49f1b82149c9edb8ef34fb1e6c45f37211445c51a97603468604
119132 label:
120- org.opencontainers.image.title : OpenStatus Server
133+ org.opencontainers.image.authors : OpenStatus Team
121134 org.opencontainers.image.source: https://github.com/openstatusHQ/openstatus
135+ io.dofigen.version: 2.8.0
136+ org.opencontainers.image.description: REST API server with Hono framework for OpenStatus
122137 org.opencontainers.image.base.name: docker.io/debian:bullseye-slim
123- org.opencontainers.image.authors: OpenStatus Team
124- io.dofigen.version: 2.6.0
125- org.opencontainers.image.base.digest: sha256:1a4701c321b1d28b1ff5f0230e766791e4b79b1d4c6c7a70064f4b297b1a330f
138+ org.opencontainers.image.base.digest: sha256:cd1bc32f233a49f1b82149c9edb8ef34fb1e6c45f37211445c51a97603468604
139+ org.opencontainers.image.title: OpenStatus Server
126140 org.opencontainers.image.vendor: OpenStatus
127- org.opencontainers.image.description: REST API server with Hono framework for OpenStatus
128141 user:
129142 user: '1000'
130143 group: '1000'
@@ -151,17 +164,20 @@ effective: |
151164 retries: 3
152165images:
153166 docker.io:
154- library:
155- debian:
156- bullseye-slim:
157- digest: sha256:1a4701c321b1d28b1ff5f0230e766791e4b79b1d4c6c7a70064f4b297b1a330f
158167 oven:
159168 bun:
160169 1.3.6:
161170 digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a
171+ library:
172+ debian:
173+ bullseye-slim:
174+ digest: sha256:cd1bc32f233a49f1b82149c9edb8ef34fb1e6c45f37211445c51a97603468604
175+ node:
176+ 24-slim:
177+ digest: sha256:242549cd46785b480c832479a730f4f2a20865d61ea2e404fdb2a5c3d3b73ecf
162178resources:
163179 dofigen.yml:
164- hash: c9490c75001074e3e201504aa5b4251e3e96ba6648b5512dfbaf497e56a57cbc
180+ hash: ced0248a6d50292b50f230ddb23b143b32a255a3ecc744ede63995b7921d643e
165181 content: |
166182 # Files to exclude from Docker context
167183 ignore:
@@ -178,12 +194,14 @@ resources:
178194 builders:
179195 # Stage 1: Install production dependencies
180196 install:
181- fromImage: oven/bun:1.3.6
197+ fromImage: node:24-slim
182198 workdir: /app/
183199 labels:
184200 org.opencontainers.image.stage: install
185201 bind:
186- - bunfig.toml
202+ - pnpm-workspace.yaml
203+ - pnpm-lock.yaml
204+ - patches
187205 - package.json
188206 - apps/server/package.json
189207 - packages/analytics/package.json
@@ -217,9 +235,11 @@ resources:
217235 - packages/locales/package.json
218236 - packages/services/package.json
219237 - packages/importers/package.json
220- run: bun install --production --frozen-lockfile --verbose
238+ run:
239+ - corepack enable pnpm
240+ - pnpm install --prod --frozen-lockfile --verbose
221241 cache:
222- - /root/.bun/install/cache
242+ - /root/.local/share/pnpm/store
223243
224244 # Stage 2: Build application (compile to binary)
225245 build:
@@ -234,6 +254,12 @@ resources:
234254 - fromBuilder: install
235255 source: /app/node_modules
236256 target: /app/node_modules
257+ - fromBuilder: install
258+ source: /app/apps/server/node_modules
259+ target: /app/apps/server/node_modules
260+ - fromBuilder: install
261+ source: /app/packages
262+ target: /app/packages
237263 run: bun build --compile --sourcemap src/index.ts --outfile=app
238264
239265 # Runtime stage
0 commit comments