# KNGIL 로컬 실행 (Docker Compose) ## 빠른 시작 ```bash docker compose up -d --build ``` - 접속: `http://localhost:8080` ```bash docker compose down ``` ## 환경변수 `docker-compose.yml`에서 기본값을 사용하며, 필요 시 `.env`로 덮어쓸 수 있습니다. - `DB_HOST` (기본값: `db`) - `DB_PORT` (기본값: `5432`) - 웹 컨테이너가 DB에 접속할 때 사용하는 포트 - `DB_HOST_PORT` (기본값: `5432`) - 외부에서 포트포워딩으로 접속할 때 사용하는 호스트 포트 - `DB_NAME` (기본값: `kngil`) - `DB_USER` (기본값: `postgres`) - `DB_PASS` (기본값: `postgres`) > 참고: `kngil_DB` 덤프가 `postgres` 소유자를 사용하므로, `DB_USER`를 변경하면 초기 복원에 실패할 수 있습니다. ### OIDC (선택) 로그인에서 OIDC를 사용하려면 아래 환경변수를 설정하세요. - `OIDC_ISSUER` - `OIDC_CLIENT_ID` - `OIDC_CLIENT_SECRET` - `OIDC_REDIRECT_URL` - `OIDC_SCOPES` (예: `openid profile email`) ## DB 초기화 - `kngil_DB` 덤프는 **처음 실행 시** 자동으로 로드됩니다. - 이미 생성된 볼륨이 있으면 재적용되지 않습니다. 다시 초기화하려면 아래를 실행하세요. ```bash docker compose down -v ``` ## 덤프 호환성 - `docker/initdb/01_kngil_DB.sql`는 PostgreSQL 16에서도 동작하도록 `transaction_timeout` 설정을 제거한 버전입니다. - 원본 덤프는 `kngil_DB`에 그대로 보관됩니다. ## 기능 비활성화 - MySQL 의존 기능은 현재 제외했습니다. - `kngil/bbs/sales_results.php`는 410 응답으로 비활성 처리되어 있습니다. ## PostgreSQL 이미지 버전 - 기본값은 `postgres:16`입니다. - 이미지 풀 실패 시 `docker-compose.yml`의 태그를 사용 가능한 버전으로 변경하세요.