mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 22:53:25 +00:00
45 lines
930 B
Docker
45 lines
930 B
Docker
# Source : https://github.com/adonisjs-community/adonis-packages/blob/main/Dockerfile
|
|
|
|
FROM node:20-alpine3.18 as base
|
|
|
|
RUN apk --no-cache add curl
|
|
RUN corepack enable
|
|
|
|
# All deps stage
|
|
FROM base as deps
|
|
WORKDIR /app
|
|
ADD package.json package-lock.json ./
|
|
RUN npm install --ignore-scripts
|
|
|
|
# Production only deps stage
|
|
FROM base as production-deps
|
|
WORKDIR /app
|
|
ADD package.json package-lock.json ./
|
|
RUN npm install --omit="dev" --ignore-scripts
|
|
|
|
# Build stage
|
|
FROM base as build
|
|
WORKDIR /app
|
|
COPY --from=deps /app/node_modules /app/node_modules
|
|
ADD . .
|
|
RUN node ace build
|
|
|
|
# Production stage
|
|
FROM base
|
|
|
|
ENV NODE_ENV=production
|
|
ENV LOG_LEVEL=debug
|
|
ENV CACHE_VIEWS=false
|
|
ENV SESSION_DRIVER=cookie
|
|
ENV PORT=$PORT
|
|
|
|
WORKDIR /app
|
|
COPY --from=production-deps /app/node_modules /app/node_modules
|
|
COPY --from=build /app/build /app
|
|
|
|
# Expose port
|
|
EXPOSE $PORT
|
|
|
|
# Start app
|
|
CMD node bin/console.js migration:run --force && node bin/server.js
|