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