Compare commits
3 Commits
3f2282f680
...
d7874ef9de
Author | SHA1 | Date | |
---|---|---|---|
d7874ef9de | |||
094066426e | |||
596974f9bb |
@@ -13,7 +13,6 @@ pnpm-debug.log*
|
||||
.env.production.local
|
||||
|
||||
# Build outputs
|
||||
dist
|
||||
build
|
||||
.next
|
||||
out
|
||||
|
22
Dockerfile
22
Dockerfile
@@ -1,3 +1,22 @@
|
||||
FROM node:22-alpine AS builder
|
||||
|
||||
# Install pnpm
|
||||
RUN npm install -g pnpm
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install all deps for building server
|
||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||
RUN pnpm install --frozen-lockfile
|
||||
|
||||
# Copy only server sources and tsconfig for server build
|
||||
COPY src/server ./src/server
|
||||
COPY tsconfig.server.json ./tsconfig.server.json
|
||||
COPY tsconfig.server.build.json ./tsconfig.server.build.json
|
||||
|
||||
# Build server only (no client build)
|
||||
RUN pnpm tsc -p tsconfig.server.build.json
|
||||
|
||||
FROM node:22-alpine AS production
|
||||
|
||||
# Install pnpm and required runtime tools
|
||||
@@ -14,7 +33,8 @@ RUN pnpm install --frozen-lockfile --prod
|
||||
|
||||
# Copy prebuilt application artifacts from repository (no TS build in image)
|
||||
COPY dist ./dist
|
||||
COPY server-dist ./server-dist
|
||||
# Use freshly built server from builder stage
|
||||
COPY --from=builder /app/server-dist ./server-dist
|
||||
COPY public ./public
|
||||
|
||||
# Copy necessary runtime files
|
||||
|
@@ -7,6 +7,7 @@
|
||||
"declaration": false,
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"skipLibCheck": true,
|
||||
"allowImportingTsExtensions": false,
|
||||
"target": "ES2022",
|
||||
"baseUrl": ".",
|
||||
|
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"noEmit": true,
|
||||
"allowImportingTsExtensions": true,
|
||||
"jsx": "react-jsx",
|
||||
"types": ["node"],
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
|
Reference in New Issue
Block a user