33 lines
643 B
Docker
33 lines
643 B
Docker
FROM node:22-alpine AS builder
|
||
|
||
WORKDIR /app
|
||
|
||
# Paket dosyalarını kopyala ve bağımlılıkları yükle
|
||
COPY package*.json ./
|
||
RUN npm ci
|
||
|
||
# Kaynak kodları kopyala ve derle
|
||
COPY . .
|
||
RUN npm run build
|
||
|
||
FROM node:22-alpine AS runner
|
||
|
||
WORKDIR /app
|
||
|
||
# Sadece production bağımlılıklarını yükle (daha küçük imaj boyutu)
|
||
COPY package*.json ./
|
||
RUN npm ci --omit=dev
|
||
|
||
# Derlenmiş kodları builder aşamasından al
|
||
COPY --from=builder /app/dist ./dist
|
||
|
||
# Uygulama portunu belirt
|
||
EXPOSE 3001
|
||
|
||
# Gerekli ortam değişkenleri (Coolify üzerinden de ezilebilir)
|
||
ENV PORT=3001
|
||
ENV NODE_ENV=production
|
||
|
||
# Uygulamayı başlat
|
||
CMD ["npm", "start"]
|