Switch webapp build to Dockerfile and remove Nixpacks

This commit is contained in:
Ruslan Bakiev
2026-03-14 10:16:14 +07:00
parent 71d35476c2
commit 803dad5c8f
3 changed files with 21 additions and 34 deletions

9
.dockerignore Normal file
View File

@@ -0,0 +1,9 @@
.git
.gitea
.nuxt
.output
node_modules
*.log
.DS_Store
coverage
dist

View File

@@ -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

View File

@@ -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'