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
51958eda
Commit
51958eda
authored
Apr 02, 2026
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Dockerfile.backend via Son of Anton
parent
24c69f00
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
23 deletions
+30
-23
Dockerfile.backend
Dockerfile.backend
+30
-23
No files found.
Dockerfile.backend
View file @
51958eda
FROM node:20-alpine AS base
RUN apk add --no-cache libc6-compat openssl
FROM node:20-alpine AS builder
WORKDIR /app
RUN apk add --no-cache libc6-compat openssl python3 make g++
WORKDIR /build
# Copy
everything
COPY p
ackage*.json ./
COPY backend/package*.json ./backend/
COPY shared/package*.json ./shared/
COPY
prisma/ ./prisma
/
# Copy
prisma schema (single file, consolidated)
COPY p
risma/schema.prisma ./prisma/schema.prisma
# Copy shared package
COPY
shared/ ./shared
/
# Install backend deps
WORKDIR /app/backend
COPY backend/package.json backend/package-lock.json* ./backend/
WORKDIR /build/backend
RUN npm install --legacy-peer-deps
# Copy source
WORKDIR /app
COPY shared/ ./shared/
# Copy backend source
WORKDIR /build
COPY backend/ ./backend/
COPY prisma/ ./backend/prisma/
# Generate Prisma
WORKDIR /app/backend
# Put prisma inside backend
RUN cp -r /build/prisma /build/backend/prisma
WORKDIR /build/backend
# Generate Prisma client
RUN npx prisma generate --schema=./prisma/schema.prisma
# Build
RUN npm run build
#
Production stage
FROM node:20-alpine
AS runner
#
---- Production ----
FROM node:20-alpine
RUN apk add --no-cache libc6-compat openssl
WORKDIR /app
ENV NODE_ENV=production
COPY --from=b
ase /app
/backend/dist ./dist
COPY --from=b
ase /app
/backend/node_modules ./node_modules
COPY --from=b
ase /app
/backend/prisma ./prisma
COPY --from=b
ase /app
/backend/package.json ./
COPY --from=b
uilder /build
/backend/dist ./dist
COPY --from=b
uilder /build
/backend/node_modules ./node_modules
COPY --from=b
uilder /build
/backend/prisma ./prisma
COPY --from=b
uilder /build
/backend/package.json ./
ENV NODE_ENV=production
EXPOSE 3001
CMD ["sh", "-c", "npx prisma migrate deploy --schema=./prisma/schema.prisma && node dist/main.js"]
\ No newline at end of file
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD wget -qO- http://localhost:3001/api/health || exit 1
CMD ["sh", "-c", "npx prisma migrate deploy --schema=./prisma/schema.prisma 2>/dev/null || true; node dist/main.js"]
\ 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