mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 22:53:25 +00:00
43 lines
966 B
Docker
43 lines
966 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
|
|
COPY package.json pnpm-lock.yaml /app/
|
|
COPY .adonisjs /app/.adonisjs
|
|
RUN pnpm install --ignore-scripts
|
|
|
|
# Production only deps stage
|
|
FROM base as production-deps
|
|
WORKDIR /app
|
|
COPY package.json pnpm-lock.yaml /app/
|
|
COPY .adonisjs /app/.adonisjs
|
|
RUN pnpm install --ignore-scripts --prod
|
|
|
|
# Build stage
|
|
FROM base as build
|
|
WORKDIR /app
|
|
COPY --from=deps /app/node_modules /app/node_modules
|
|
COPY . /app
|
|
RUN node ace build
|
|
|
|
# Production stage
|
|
FROM base
|
|
ENV NODE_ENV=production
|
|
WORKDIR /app
|
|
COPY --from=production-deps /app/node_modules /app/node_modules
|
|
COPY --from=production-deps /app/.adonisjs /app/.adonisjs
|
|
COPY --from=build /app/build /app
|
|
|
|
# Expose port
|
|
EXPOSE $PORT
|
|
|
|
# Start app
|
|
CMD node bin/console.js migration:run --force && node bin/server.js
|
|
|