@@ -5,6 +5,7 @@ Dockerfile
|
||||
.DS_Store
|
||||
node_modules
|
||||
.next
|
||||
geo/GeoLite2-City.mmdb
|
||||
.idea
|
||||
.env
|
||||
.env.*
|
||||
|
||||
+7
-17
@@ -1,29 +1,24 @@
|
||||
ARG NODE_IMAGE_VERSION=22-alpine
|
||||
ARG PNPM_VERSION=10.15.1
|
||||
|
||||
FROM node:${NODE_IMAGE_VERSION} AS deps
|
||||
FROM node:${NODE_IMAGE_VERSION} AS base
|
||||
|
||||
ARG PNPM_VERSION
|
||||
|
||||
RUN apk add --no-cache libc6-compat \
|
||||
RUN apk add --no-cache curl libc6-compat \
|
||||
&& npm install --global pnpm@${PNPM_VERSION}
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
FROM base AS deps
|
||||
|
||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
FROM node:${NODE_IMAGE_VERSION} AS builder
|
||||
FROM deps AS builder
|
||||
|
||||
ARG PNPM_VERSION
|
||||
ARG BASE_PATH
|
||||
|
||||
RUN apk add --no-cache libc6-compat \
|
||||
&& npm install --global pnpm@${PNPM_VERSION}
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=deps /app/node_modules ./node_modules
|
||||
COPY . .
|
||||
|
||||
ENV BASE_PATH=${BASE_PATH}
|
||||
@@ -34,18 +29,13 @@ ENV SKIP_BUILD_GEO=1
|
||||
|
||||
RUN pnpm build
|
||||
|
||||
FROM node:${NODE_IMAGE_VERSION} AS runner
|
||||
FROM base AS runner
|
||||
|
||||
ARG PNPM_VERSION
|
||||
ARG NODE_OPTIONS
|
||||
|
||||
RUN apk add --no-cache curl libc6-compat \
|
||||
&& npm install --global pnpm@${PNPM_VERSION} \
|
||||
&& addgroup --system --gid 1001 nodejs \
|
||||
RUN addgroup --system --gid 1001 nodejs \
|
||||
&& adduser --system --uid 1001 --ingroup nodejs nextjs
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
ENV NODE_OPTIONS=${NODE_OPTIONS}
|
||||
|
||||
@@ -10,6 +10,7 @@ services:
|
||||
environment:
|
||||
DATABASE_URL: postgresql://umami:umami@db:5432/umami
|
||||
APP_SECRET: replace-me-with-a-random-string
|
||||
SKIP_LOCATION_HEADERS: 1
|
||||
volumes:
|
||||
- ./geo/GeoLite2-City.mmdb:/app/geo/GeoLite2-City.mmdb:ro
|
||||
depends_on:
|
||||
|
||||
Reference in New Issue
Block a user