25 lines
1.0 KiB
Docker
25 lines
1.0 KiB
Docker
FROM oven/bun:1 AS deps
|
|
WORKDIR /app
|
|
COPY package.json bun.lock tsconfig.json vite.config.ts ./
|
|
COPY packages/sbi-client/package.json packages/sbi-client/package.json
|
|
COPY apps/csbie/package.json apps/csbie/package.json
|
|
COPY apps/csbie-server/package.json apps/csbie-server/package.json
|
|
COPY apps/csbie-ui/package.json apps/csbie-ui/package.json
|
|
RUN bun install --frozen-lockfile
|
|
|
|
FROM deps AS build
|
|
COPY . .
|
|
RUN bun --filter @repo/csbie build
|
|
|
|
FROM oven/bun:1-slim AS runtime
|
|
ENV NODE_ENV=production
|
|
ENV CSBIE_DATABASE_PATH=/app/data/csbie.sqlite
|
|
WORKDIR /app
|
|
COPY --from=build /app/apps/csbie/dist ./apps/csbie/dist
|
|
COPY --from=build /app/apps/csbie-ui/dist ./apps/csbie-ui/dist
|
|
COPY --from=build /app/node_modules/.bun/@napi-rs+keyring@*/node_modules/@napi-rs/keyring ./node_modules/@napi-rs/keyring
|
|
COPY --from=build /app/node_modules/.bun/@napi-rs+keyring-linux-x64-gnu@*/node_modules/@napi-rs/keyring-linux-x64-gnu ./node_modules/@napi-rs/keyring-linux-x64-gnu
|
|
WORKDIR /app/apps/csbie/dist
|
|
EXPOSE 8787
|
|
CMD ["bun", "index.js"]
|