Files
image-apiv3/Dockerfile
Beyhan Oğur 031582ea2c first commit
2026-04-26 22:11:03 +03:00

57 lines
1.5 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Node.js v24.12.0 kullan
FROM node:24.12.0-alpine AS base
# Yarn için corepack'i etkinleştir
RUN corepack enable
# Dependencies stage - sadece gerekli bağımlılıkları yükle
FROM base AS deps
WORKDIR /app
# Package dosyalarını kopyala
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
# Builder stage - uygulamayı build et
FROM base AS builder
WORKDIR /app
# Node modules'ü kopyala
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Build için gerekli environment variables
ENV NEXT_TELEMETRY_DISABLED=1
# Build-time için dummy değerler (runtime'da gerçek değerler kullanılacak)
ENV DATABASE_URL="postgresql://cloud:gg7678290@database-postgist-5pcspx:5432/image_api?search_path=public"
ENV BETTER_AUTH_SECRET="dB89kiKf56igxrB783yb3UyQToQIPZ93cRKADyq1yQEJ8EU4JRw5GlxBmGvQMu8e"
ENV BETTER_AUTH_URL="https://image.beyhano.com.tr"
ENV REGISTER_ENABLE=false
# Next.js build
RUN yarn build
# Runner stage - production için minimal image
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
# Güvenlik için non-root user oluştur
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
# Standalone build'den dosyaları kopyala
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
COPY --from=builder --chown=nextjs:nodejs /app/public ./public
USER nextjs
EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
CMD ["node", "server.js"]