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