Commit Graph

13 Commits

Author SHA1 Message Date
ttipo 67f5d815c9 DB 서비스 이름을 postgres에서 db로 변경
Deploy / deploy (push) Successful in 20s
- depends_on, DB_HOST 기본값도 db로 갱신
- deploy: 서비스 이름 변경으로 남는 orphan 컨테이너 정리를 위해 --remove-orphans 추가

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 18:15:38 +09:00
ttipo f3e97d6c44 DB 데이터 경로를 프로젝트 폴더 기준 상대 경로로 변경
Deploy / deploy (push) Successful in 15s
- DB_DATA_DIR 기본값 /data/postgres -> ./data/postgres (다른 스택과 동일하게 프로젝트 폴더 하위에 생성)
- data/ gitignore 추가
- deploy: backend/frontend를 매 배포마다 force-recreate - DB 교체 시 스키마 미동기화, nginx 낡은 upstream 캐시 문제 방지

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 18:02:38 +09:00
ttipo 126c0169aa DB 볼륨을 /data/postgres 바인드 마운트로 변경
Deploy / deploy (push) Successful in 35s
- named volume 대신 호스트 경로 바인드 마운트 사용 (DB_DATA_DIR, 기본 /data/postgres)
- backend: DB 연결/동기화 실패 시 프로세스 종료 - restart: always가 DB 준비까지 재시도하도록 fail-fast 적용

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:56:44 +09:00
ttipo 8770b1b47b 호스트 포트 매핑 제거, npm 프록시 경유 구조로 전환
Deploy / deploy (push) Successful in 19s
- 모든 서비스 ports -> expose로 변경 (외부 포트 노출 없음)
- frontend/backend를 공용 proxy 네트워크에 연결 - npm이 컨테이너 이름(report-frontend:80)으로 라우팅
- DB는 내부 app-network 전용 유지
- 미사용이 된 BACKEND_PORT/FRONTEND_PORT 변수 제거

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:43:52 +09:00
ttipo dbcda9dd6b compose 네트워크 이름을 app-network로 통일
Deploy / deploy (push) Successful in 13s
다른 스택(adform, innertab)과 동일한 명명 규칙 적용

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:41:28 +09:00
ttipo 1d21d4b49b 비밀값 하드코딩 기본값 제거
Deploy / deploy (push) Successful in 37s
- docker-compose: DB_PASSWORD, ACCESS_SECRET, REFRESH_SECRET, ADMIN_USER, ADMIN_PASS를 필수(:?)로 변경 - 누락 시 명확한 에러로 실패
- server.js: 시크릿/관리자 계정의 하드코딩 폴백 제거 (JWT 시크릿 누락 시 기동 중단, 관리자 계정 미설정 시 생성 건너뜀)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 16:02:42 +09:00
ttipo c8dbaf167f Revert "frontend를 npm 공용 proxy 네트워크에 연결"
Deploy / deploy (push) Successful in 13s
This reverts commit 0e9e5b0283.
2026-07-19 15:42:10 +09:00
ttipo 0e9e5b0283 frontend를 npm 공용 proxy 네트워크에 연결
Deploy / deploy (push) Successful in 20s
npm(Nginx Proxy Manager)이 proxy 네트워크에서 report-frontend:80 으로 접근할 수 있도록 external 네트워크 추가 (adform/innertab과 동일 패턴). 도메인 접속 시 502 나던 문제 해결

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:38:48 +09:00
ttipo a45cb39a57 DB를 MySQL에서 PostgreSQL로 전면 전환
- Sequelize dialect를 postgres로 변경, mysql2 대신 pg/pg-hstore 사용
- docker-compose: postgres:16-alpine + pg_isready healthcheck, 호스트 포트 5442
- 환경변수 MYSQL_PORT -> DB_PORT로 통일, .env.example 갱신

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:59:37 +09:00
ttipo 7e6f579362 컨테이너 이름을 report-* 형식으로 통일
Deploy / deploy (push) Successful in 20s
mysql_db → report-db, report_backend → report-backend, report_frontend → report-frontend

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 05:46:12 +09:00
ttipo de76764f7b 미사용 서비스 제거: adminer, n8n, n8n_postgres
Deploy / deploy (push) Successful in 13s
앱 코드에서 참조하지 않는 서비스들을 compose와 env 템플릿에서 제거.
n8n이 다시 필요해지면 ~/stacks/ 아래 독립 스택으로 구성 권장.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 05:43:41 +09:00
ttipo 88d069fe86 compose 안정화: mysql healthcheck 대기, adminer IPv4 리슨 및 내부 바인딩
Deploy / deploy (push) Successful in 20s
- backend가 mysql 초기화 완료(healthy) 후에 기동하도록 depends_on 조건 추가
- adminer: IPv6 비활성 호스트에서 리슨 실패하던 것을 0.0.0.0 리슨으로 수정,
  포트를 127.0.0.1로 바인딩해 외부 노출 차단

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 05:24:00 +09:00
kkgu889 7f950339ae first commit 2026-07-19 03:44:35 +09:00