Files
ButlerBot/Dockerfile
Jack e26d98f8c7
All checks were successful
Build and Publish Docker Image / build_and_push (push) Successful in 25s
Improve layer cacheability
2024-09-16 14:54:16 +00:00

39 lines
773 B
Docker

################################################
FROM node:lts-alpine AS base
# Create user and group
RUN mkdir /app && \
addgroup -g 1001 -S nodejs && \
adduser -S nodejs -u 1001 && \
chown -R nodejs:nodejs /app
WORKDIR /app
################################################
FROM base AS build
# Create app directory and copy the app
COPY package*.json tsconfig.json ./
# Install
RUN npm install
# Copy the app
COPY src ./src
# Build
RUN npm run build
################################################
FROM node:lts-alpine
# Install dependencies but skip dev dependencies
COPY --from=build /app/package*.json ./
RUN npm install --only=production
# Copy the app
COPY --from=build /app/dist ./dist
# Start the app
ENTRYPOINT ["npm", "run"]
CMD ["start"]