diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e21151b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +.gitea +.nuxt +.output +node_modules +*.log +.DS_Store +coverage +dist diff --git a/Dockerfile b/Dockerfile index 2b99ae7..b326741 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,27 @@ -FROM node:22-slim AS build +FROM node:22-slim AS base ENV PNPM_HOME=/pnpm ENV PATH=$PNPM_HOME:$PATH -ENV NODE_OPTIONS=--max-old-space-size=2048 -ENV NUXT_SOURCEMAP=false -ENV NUXT_MINIFY=false -ENV SENTRY_ENABLED=false -ENV NUXT_TELEMETRY_DISABLED=1 WORKDIR /app RUN corepack enable COPY package.json pnpm-lock.yaml ./ -RUN pnpm install --frozen-lockfile +RUN pnpm install --frozen-lockfile --config.confirmModulesPurge=false + +FROM base AS build + +ENV NODE_OPTIONS=--max-old-space-size=2048 +ENV NUXT_SOURCEMAP=false +ENV NUXT_MINIFY=false +ENV SENTRY_ENABLED=false +ENV NUXT_TELEMETRY_DISABLED=1 COPY . . -RUN pnpm run build +RUN pnpm run build && pnpm prune --prod -FROM node:22-slim +FROM node:22-slim AS runtime WORKDIR /app diff --git a/nixpacks.toml b/nixpacks.toml deleted file mode 100644 index b1ae7b4..0000000 --- a/nixpacks.toml +++ /dev/null @@ -1,25 +0,0 @@ -providers = [] -buildImage = 'ghcr.io/railwayapp/nixpacks:ubuntu-1745885067' - -[variables] -CI = 'true' -NIXPACKS_METADATA = 'node' -NODE_ENV = 'production' -[phases.build] -dependsOn = ['install'] -cmds = ['node scripts/load-secrets.mjs && source .env.infisical && pnpm run build'] -cacheDirectories = ['node_modules/.cache'] - -[phases.install] -dependsOn = ['setup'] -cmds = ['pnpm install --frozen-lockfile --config.confirmModulesPurge=false'] -cacheDirectories = ['/root/.local/share/pnpm/store'] -paths = ['/app/node_modules/.bin'] - -[phases.setup] -nixPkgs = ['nodejs_22', 'pnpm'] -nixpkgsArchive = '23f9169c4ccce521379e602cc82ed873a1f1b52b' - -[start] -cmd = 'node scripts/load-secrets.mjs && source .env.infisical && node --import ./.output/server/sentry.server.config.mjs .output/server/index.mjs' -