scoresaber-reloadedv3/projects/backend/Dockerfile

41 lines
857 B
Docker
Raw Normal View History

2024-10-08 14:39:02 +00:00
FROM oven/bun:1.1.30-alpine AS base
2024-10-08 14:32:02 +00:00
# Install system dependencies for node-canvas
RUN apk add --no-cache \
build-base \
cairo-dev \
pango-dev \
giflib-dev \
libjpeg-turbo-dev \
freetype-dev \
fontconfig-dev \
pixman-dev \
python3 \
pkgconfig
2024-10-08 14:32:02 +00:00
# Install dependencies
FROM base AS depends
WORKDIR /app
COPY . .
RUN bun install --frozen-lockfile
# Run the app
FROM base AS runner
WORKDIR /app
ENV NODE_ENV production
2024-10-09 00:34:34 +00:00
# Copy the depends
COPY --from=depends /app/package.json* /app/bun.lockb* ./
COPY --from=depends /app/node_modules ./node_modules
# Build the common library
2024-10-09 00:19:31 +00:00
COPY --from=depends /app/projects/common ./projects/common
2024-10-09 00:27:39 +00:00
RUN bun i -g typescript
2024-10-09 00:23:56 +00:00
RUN bun --filter '@ssr/common' build
2024-10-09 00:19:31 +00:00
2024-10-09 00:34:34 +00:00
# Copy the backend project
2024-10-08 14:32:02 +00:00
COPY --from=depends /app/projects/backend ./projects/backend
CMD ["bun", "run", "--filter", "backend", "start"]