From 86cf8076ed297c3a6c3adadf1f948e6163855a8b Mon Sep 17 00:00:00 2001 From: laoboli <1293528695@qq.com> Date: Thu, 23 Jul 2026 14:30:13 +0800 Subject: [PATCH] refactor: geo --- .dockerignore | 1 + Dockerfile | 24 +++++++----------------- docker-compose.yml | 1 + 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.dockerignore b/.dockerignore index 27a9db1d1..55c1293a7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,6 +5,7 @@ Dockerfile .DS_Store node_modules .next +geo/GeoLite2-City.mmdb .idea .env .env.* diff --git a/Dockerfile b/Dockerfile index 7a2d0cc88..430c6bfea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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} diff --git a/docker-compose.yml b/docker-compose.yml index aebdb80ad..6ca5cbfc9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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: