Docker · 321 bytes Raw Blame History
1 FROM node:18-alpine
2
3 WORKDIR /app
4
5 # Install dependencies
6 COPY package*.json ./
7 RUN npm ci --only=production
8
9 # Copy built application
10 COPY dist/ ./dist/
11 COPY public/ ./public/
12
13 # Create non-root user
14 RUN addgroup -g 1001 -S nodejs
15 RUN adduser -S zephyrfs -u 1001
16 USER zephyrfs
17
18 EXPOSE 3000
19
20 CMD ["node", "dist/index.js"]