
랠릿 standalone 적용기
두줄요약
Next.js standalone으로 Docker 이미지에 필요한 실행 파일만 포함해 배포 구조를 개선했습니다. ECR 이미지 용량과 배포 시간을 크게 줄이면서 환경 변수·정적 파일 처리 유의점을 정리했습니다.
문제 상황
- Next.js 기반 B2C 서비스의 대용량 Docker image로 인한 ECR push·pull 및 배포 지연
- 모노레포 Next.js v12 환경의 standalone 빌드에서 하위 라이브러리 누락과 환경 변수 미적용
해결 방법
output: 'standalone'적용과server.js직접 실행으로 런타임 최소 파일만 포함- v12 모노레포에
outputFileTracingRoot설정 추가 static·public직접 복사, preload 모듈 설정, 빌드 전 환경별.env를 루트로 복사하는 스크립트 구성
성능/운영 포인트
- 불필요한
node_modules와 pnpm 제거, dd-trace 의존성은dd-trace/initimport로 standalone 결과물에 포함 - ECR image 크기 2.46GB에서 404MB로 감소
- 배포 시간 3분 38초에서 1분 7초로 2분 30초 단축
주의할 점
- standalone 결과물에 포함되지 않는 정적 리소스의 별도 복사 또는 CDN 운영 필요
.env위치와 Next.js 빌드 우선순위에 따른 환경 변수 누락 점검 필요





