Files
kngil_home/README.md

64 lines
2.3 KiB
Markdown

# 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`)
- `IDP_SERVICE_URL` (예: `https://idp.example.com`)
### 정적 자산 CDN (선택)
정적 파일(`/js`, `/css`, `/img`, `/fonts`, `/download`, `/uploads`, `/vendor`)을 CDN으로 리다이렉트하려면
웹 서버 환경변수 `STATIC_CDN_BASE_URL`을 설정하세요. (값이 있으면 302 리다이렉트)
예시:
```bash
STATIC_CDN_BASE_URL=https://cdn.example.com/kngil
```
> 참고: 이 변수는 Apache의 Rewrite 환경변수로 사용됩니다. Docker Compose를 사용한다면 web 서비스의 환경변수로 전달해도 됩니다.
## 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`의 태그를 사용 가능한 버전으로 변경하세요.