refactor: use bun in Dockerfile and CI workflow

This commit is contained in:
Justin Lin committed 2026-10-11 17:24:12 +11:00
1 parent 77577d9b8d
commit 634dc8f987
16 files changed
+100 -72

No files matched your search

+16 -15
View File
@@ -1,27 +1,28 @@
FROM node:20-alpine AS build
FROM oven/bun:1.3.14-alpine AS prod
WORKDIR /app
COPY ./package.json yarn.lock ./
COPY package.json bun.lock ./
COPY app/package.json ./app/package.json
COPY server/package.json ./server/package.json
RUN yarn install
COPY services/analytics/package.json ./services/analytics/package.json
COPY tests/package.json ./tests/package.json
COPY packages/constants/package.json ./packages/constants/package.json
COPY packages/file-graph/package.json ./packages/file-graph/package.json
COPY packages/game/package.json ./packages/game/package.json
COPY packages/models/package.json ./packages/models/package.json
COPY packages/utils/package.json ./packages/utils/package.json
RUN bun install --frozen-lockfile --production --filter server
# Install docker cli
COPY server ./server
COPY packages ./packages
COPY tsconfig.json ./tsconfig.json
RUN yarn workspace server build
# Production
FROM node:20-alpine AS prod
WORKDIR /app
COPY --from=docker:dind /usr/local/bin/docker /usr/local/bin/
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/server ./server
COPY tsconfig.json ./tsconfig.json
COPY packages ./packages
COPY server ./server
COPY ./quests ./quests
ENV NODE_ENV=production
WORKDIR /app/server
CMD [ "yarn", "start" ]
CMD [ "bun", "src/index.ts" ]
ENV HOST=0.0.0.0
ENV PORT=3000
+1 -1
View File
@@ -24,7 +24,7 @@ import { createContext } from './trpc.js'
async function main() {
if (!config.secret) {
logger.error(
'No SECRET_KEY found in .env! To set up a persistent key, please run `yarn setup`:'
'No SECRET_KEY found in .env! To set up a persistent key, please run `bun run setup`:'
)
process.exit(1)
}