4단계
4단계 — 배포 (Fly.io)
4단계 — 배포 (Fly.io)
배포는 두 갈래. Vercel 이 가장 쉽지만, Fly.io 가 무료 PostgreSQL 까지 한 번에 돼서 풀스택 학습엔 더 좋습니다.
Standalone 빌드
next.config.ts:
import type { NextConfig } from "next";
const config: NextConfig = {
output: "standalone",
};
export default config;
Dockerfile
FROM node:20-slim AS base
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate
FROM base AS deps
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN pnpm build
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000
CMD ["node", "server.js"]
Fly.io 배포
brew install flyctl # 또는 winget install flyctl
fly auth signup
fly launch # fly.toml 자동 생성
fly postgres create # DB 생성
fly postgres attach # 앱에 연결
fly deploy
다음 단계
배포가 끝나면 도메인을 연결하거나 (CNAME), GitHub Actions 로 push 자동 배포를 붙여보세요.
축하합니다 — 풀스택 사이클을 완주했습니다. 🎉