Switch webapp build to Dockerfile and remove Nixpacks
This commit is contained in:
9
.dockerignore
Normal file
9
.dockerignore
Normal file
@@ -0,0 +1,9 @@
|
||||
.git
|
||||
.gitea
|
||||
.nuxt
|
||||
.output
|
||||
node_modules
|
||||
*.log
|
||||
.DS_Store
|
||||
coverage
|
||||
dist
|
||||
21
Dockerfile
21
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
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user