chore: 사내 Node 샘플 scaffold (new-project 템플릿)

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>
This commit is contained in:
2026-06-15 08:00:57 +00:00
commit 21ace490e5
15 changed files with 2332 additions and 0 deletions

22
Dockerfile Normal file
View File

@@ -0,0 +1,22 @@
# 로컬(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"]