podman 로컬개발 + Coolify(Dockerfile) 배포용 베이스. - Express 서버: /healthz, /db, /s3 연결 확인 - src/config.js 단일 진입점 → src/db.js(pg), src/s3.js(MinIO) - scripts/check-db.js, check-minio.js 연결 점검 - Dockerfile / compose.yaml / .dockerignore, 비밀값은 env 파일(gitignore)에서만 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
539 B
Docker
23 lines
539 B
Docker
# 로컬(podman)과 Coolify 자동빌드가 공유하는 단일 Dockerfile.
|
|
# - 로컬: podman build -t sample . && podman run --rm -p 3000:3000 --env-file .project-env sample
|
|
# - 배포: Gitea push → Coolify가 이 Dockerfile로 빌드/배포
|
|
FROM node:22-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# 의존성 레이어 캐시
|
|
COPY package.json package-lock.json* ./
|
|
RUN npm ci --omit=dev || npm install --omit=dev
|
|
|
|
# 앱 소스
|
|
COPY . .
|
|
|
|
ENV NODE_ENV=production \
|
|
PORT=3000
|
|
EXPOSE 3000
|
|
|
|
# 비루트 실행
|
|
USER node
|
|
|
|
CMD ["node", "src/server.js"]
|