Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hrsystem
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
hrsystem
Commits
aea0a394
Commit
aea0a394
authored
Apr 02, 2026
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update backend/Dockerfile via Son of Anton
parent
ff8e9c0d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
27 deletions
+30
-27
Dockerfile
backend/Dockerfile
+30
-27
No files found.
backend/Dockerfile
View file @
aea0a394
FROM
node:20-alpine AS base
FROM
node:20-alpine AS builder
RUN
apk add
--no-cache
libc6-compat openssl
# Install dependencies
RUN
apk add
--no-cache
libc6-compat openssl python3 make g++
FROM
base AS deps
WORKDIR
/app
WORKDIR
/build
COPY
package.json ./
RUN
npm
install
--legacy-peer-deps
# Copy the prisma schema
COPY
prisma/ ./prisma/
# Copy shared types
# Copy shared types
FROM
base AS shared
COPY
shared/ ./shared/
WORKDIR
/shared
COPY
../shared/package.json ./
# Copy backend
COPY
../shared/src ./src
COPY
backend/package*.json ./backend/
COPY
../shared/tsconfig.json ./
WORKDIR
/build/backend
RUN
npm
install
--legacy-peer-deps
# Build
FROM
base AS builder
COPY
backend/ ./
WORKDIR
/app
COPY
--from=deps /app/node_modules ./node_modules
# Copy prisma into backend for generation
COPY
. .
RUN
cp
-r
/build/prisma ./prisma
COPY
--from=shared /shared ../shared
# Generate Prisma client
# Generate Prisma client
COPY
../prisma ./prisma
RUN
npx prisma generate
--schema
=
./prisma/schema.prisma
RUN
npx prisma generate
--schema
=
./prisma/schema.prisma
# Build NestJS
RUN
npm run build
RUN
npm run build
# Production
# --- Production ---
FROM
base AS runner
FROM
node:20-alpine
RUN
apk add
--no-cache
libc6-compat openssl
WORKDIR
/app
WORKDIR
/app
ENV
NODE_ENV=production
ENV
NODE_ENV=production
COPY
--from=builder /
app
/dist ./dist
COPY
--from=builder /
build/backend
/dist ./dist
COPY
--from=builder /
app
/node_modules ./node_modules
COPY
--from=builder /
build/backend
/node_modules ./node_modules
COPY
--from=builder /
app
/prisma ./prisma
COPY
--from=builder /
build/backend
/prisma ./prisma
COPY
--from=builder /
app/package.json ./
COPY
--from=builder /
build/backend/package.json ./package.json
EXPOSE
3001
EXPOSE
3001
CMD
["sh", "-c", "npx prisma migrate deploy --schema=./prisma/schema.prisma && node dist/main.js"]
CMD
["sh", "-c", "npx prisma migrate deploy --schema=./prisma/schema.prisma 2>/dev/null; node dist/main.js"]
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment