Files
arakrail/Dockerfile
T
morteza 9a6b8d489f
deploy to danak / build_and_deploy (push) Has been cancelled
docker optmize
2026-06-27 11:23:25 +03:30

50 lines
1.5 KiB
Docker

FROM docker-mirror.liara.ir/library/node:14-alpine AS base
RUN ALPINE_VERSION=$(cat /etc/alpine-release | cut -d'.' -f1-2) && \
echo "https://linux-mirror.liara.ir/repository/alpine/v${ALPINE_VERSION}/main" > /etc/apk/repositories && \
echo "https://linux-mirror.liara.ir/repository/alpine/v${ALPINE_VERSION}/community" >> /etc/apk/repositories
ENV NPM_CONFIG_REGISTRY=https://package-mirror.liara.ir/repository/npm/ \
NUXT_TELEMETRY_DISABLED=1
FROM base AS deps
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
FROM base AS prod-deps
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --omit=dev
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
ENV NODE_ENV=production
RUN npm run build
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production \
PORT=6096 \
HOSTNAME=0.0.0.0
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
COPY --from=prod-deps --chown=appuser:appgroup /app/node_modules ./node_modules
COPY --from=builder --chown=appuser:appgroup /app/.nuxt ./.nuxt
COPY --from=builder --chown=appuser:appgroup /app/static ./static
COPY --from=builder --chown=appuser:appgroup /app/package.json ./package.json
COPY --from=builder --chown=appuser:appgroup /app/nuxt.config.js ./nuxt.config.js
COPY --from=builder --chown=appuser:appgroup /app/api ./api
COPY --from=builder --chown=appuser:appgroup /app/store ./store
COPY --from=builder --chown=appuser:appgroup /app/middleware ./middleware
USER appuser
EXPOSE 6096
CMD ["node_modules/.bin/nuxt", "start"]