Scaffolder 80247f774b initial commit
Change-Id: I5b7bb3df064cd550520c44c805fd011e4e2691c7
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00
2026-06-25 08:50:30 +00:00

sample — Node 앱 샘플 (로컬 node 실행 + Kubero 배포)

사내 워크스페이스용 Node(ESM) 샘플. DB·MinIO 연결, 로컬 개발, Kubero 자동배포가 미리 잡혀 있다. 이 폴더(~/projects/sample)는 읽기 전용 참조다. 직접 고치지 말고, 새 작업은 아래처럼 복사해서 시작한다.

새 프로젝트 시작

new-project myapp             # sample 을 ~/projects/myapp 으로 복사 + .project-env(DB/S3) 자동생성
cd ~/projects/myapp           # 들어오면 셸이 .project-env 를 자동 export ($DATABASE_URL 등 사용 가능)
npm install
npm run dev                   # http://localhost:3000
  • GET /healthz — 헬스체크
  • GET /db — Postgres 연결 확인 (직원 전용 schema)
  • GET /s3 — MinIO 버킷 연결 확인

배포와 동일한 방식으로 로컬 검증 (컨테이너 불필요)

npm start                     # = node index.js (Kubero 의 run 커맨드와 동일)

Kubero 는 buildpack 으로 빌드하므로 로컬에서 컨테이너 이미지를 빌드할 필요가 없다. npm start 로 떠서 엔드포인트가 정상이면 Kubero 배포도 거의 그대로 된다.

배포 (Kubero)

Gitea에 push → Kubero(https://kubero.bokdev.in)가 NodeJS buildpack으로 자동 빌드/배포 (build=npm install, run=node index.js). Kubero 앱의 Env에 DATABASE_URL, S3_*, PORT 입력. 앱 주소는 https://<앱이름>.apps.bokdev.in.

연결정보

  • DB: 프로젝트 .project-envDATABASE_URL (본인 schema 격리, 폴더 cd 시 자동 export). 클러스터 내부 OpenEverest(postgresql-6ox)의 appdb.
  • MinIO(S3): endpoint https://minio.bokdev.in, bucket coolify-user-data, 키는 .project-env에 있음
  • AI: ~/.envLITELLM_KEY(update-litellm-key 명령으로 입력) → Claude Code/Codex/Gemini 공용

자세한 작업 규약은 CLAUDE.md 참고.

Description
계산기
Readme 68 KiB
Languages
HTML 54.4%
JavaScript 45.6%