This repository has been archived on 2024-10-29. You can view files and clone it, but cannot push or open issues or pull requests.
scoresaber-reloadedv3/backend/Dockerfile

32 lines
659 B
Docker
Raw Normal View History

2024-10-04 22:57:10 +01:00
FROM node:20-alpine3.17
2024-10-04 20:57:05 +01:00
2024-10-04 22:55:24 +01:00
# Install pnpm globally
2024-10-04 20:57:05 +01:00
RUN npm install -g pnpm
ENV PNPM_HOME=/usr/local/bin
2024-10-04 20:35:44 +01:00
WORKDIR /app
2024-10-04 20:49:45 +01:00
2024-10-04 23:59:29 +01:00
ARG GIT_REV
ENV GIT_REV=${GIT_REV}
2024-10-05 00:01:39 +01:00
# Run in production mode
ENV NODE_ENV=production
2024-10-04 22:55:24 +01:00
# Copy necessary files for installation
2024-10-04 21:05:21 +01:00
COPY package.json* pnpm-lock.yaml* pnpm-workspace.yaml* ./
2024-10-04 22:55:24 +01:00
COPY common ./common
2024-10-04 21:05:21 +01:00
COPY backend ./backend
2024-10-04 20:49:45 +01:00
2024-10-04 23:04:02 +01:00
# Install all dependencies (for common and backend)
RUN pnpm install
2024-10-04 20:35:44 +01:00
2024-10-04 23:04:02 +01:00
# Build the common workspace first, then the backend
RUN pnpm --filter ...common build
2024-10-04 23:02:10 +01:00
RUN pnpm --filter ...backend build
2024-10-04 22:55:24 +01:00
# Expose the port your application runs on
2024-10-04 20:53:35 +01:00
EXPOSE 8080
2024-10-04 20:49:45 +01:00
2024-10-04 22:55:24 +01:00
# Command to run your app
2024-10-04 23:05:45 +01:00
CMD ["node", "backend/dist/main.js"]