discord-ticket-bot/Dockerfile

51 lines
945 B
Docker
Raw Normal View History

2024-06-05 23:04:52 +00:00
## build runner
2024-06-08 16:08:41 +00:00
FROM node:20-slim as build-runner
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
2024-06-05 23:04:52 +00:00
# Set temp directory
WORKDIR /tmp/app
# Move package.json
COPY package.json .
# Install dependencies
2024-06-08 16:08:41 +00:00
RUN pnpm install
2024-06-05 23:04:52 +00:00
# Move source files
COPY src ./src
COPY tsconfig.json .
2024-06-08 16:08:41 +00:00
COPY tsup.config.ts .
2024-06-05 23:04:52 +00:00
# Build project
2024-06-08 16:08:41 +00:00
RUN pnpm build
2024-06-05 23:04:52 +00:00
## production runner
2024-06-08 16:08:41 +00:00
FROM node:20-slim as prod-runner
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
2024-08-05 20:27:01 +00:00
RUN apt-get update -y && apt-get install -y openssl
2024-06-05 23:04:52 +00:00
# Set work directory
WORKDIR /app
# Copy package.json from build-runner
COPY --from=build-runner /tmp/app/package.json /app/package.json
2024-08-25 19:38:09 +00:00
COPY --from=build-runner /tmp/app/node_modules /app/node_modules
2024-08-05 20:27:01 +00:00
COPY prisma .
COPY .env .
2024-06-05 23:04:52 +00:00
# Install dependencies
2024-06-08 16:08:41 +00:00
RUN pnpm install --prod
2024-08-25 19:38:09 +00:00
RUN npx prisma generate
2024-06-05 23:04:52 +00:00
# Move build files
COPY --from=build-runner /tmp/app/build /app/build
# Start bot
2024-06-08 16:08:41 +00:00
CMD [ "pnpm", "start" ]