Files
2026-04-20 20:37:49 +09:00

105 lines
3.7 KiB
PHP

<?php
return [
/*
|--------------------------------------------------------------------------
| GeoIP 활성화 여부
|--------------------------------------------------------------------------
|
| IP 기반 지역 감지 기능의 활성화 여부를 설정합니다.
| 이 기능을 사용하려면 GeoLite2-City.mmdb 파일이 필요합니다.
|
| 런타임 값은 관리자 > 환경설정 > 고급 탭의 마스터 토글에서 제어됩니다.
| SettingsServiceProvider::applyGeoIpConfig()가 settings JSON 값을
| 이 config에 오버라이드합니다.
|
*/
'enabled' => env('GEOIP_ENABLED', false),
/*
|--------------------------------------------------------------------------
| MaxMind 라이선스 키
|--------------------------------------------------------------------------
|
| MaxMind 무료 계정에서 발급받는 라이선스 키입니다.
| 런타임 값은 환경설정 > 고급 탭에서 입력되며 sensitive 필드로 마스킹됩니다.
|
*/
'license_key' => env('GEOIP_LICENSE_KEY', ''),
/*
|--------------------------------------------------------------------------
| 자동 업데이트 활성화
|--------------------------------------------------------------------------
|
| 주기적으로 GeoLite2 DB를 재다운로드할지 여부입니다.
| 런타임 값은 환경설정 > 고급 탭에서 제어됩니다.
|
*/
'auto_update_enabled' => env('GEOIP_AUTO_UPDATE_ENABLED', true),
/*
|--------------------------------------------------------------------------
| 마지막 업데이트 시각
|--------------------------------------------------------------------------
|
| 마지막 성공적인 DB 다운로드 시각 (ISO8601 문자열).
| geoip:update 커맨드가 성공 시 settings에 기록합니다.
|
*/
'last_updated_at' => null,
/*
|--------------------------------------------------------------------------
| GeoLite2 데이터베이스 파일 경로
|--------------------------------------------------------------------------
|
| MaxMind GeoLite2-City.mmdb 파일의 저장 경로입니다.
|
*/
'database_path' => storage_path('app/geoip/GeoLite2-City.mmdb'),
/*
|--------------------------------------------------------------------------
| 다운로드 설정
|--------------------------------------------------------------------------
*/
'download' => [
'edition_id' => 'GeoLite2-City',
'base_url' => 'https://download.maxmind.com/app/geoip_download',
'timeout' => 120,
'retry_attempts' => 3,
'retry_delay_ms' => 10000,
'user_agent' => 'g7-core/1.0 (+https://gnuboard.com)',
],
/*
|--------------------------------------------------------------------------
| 스케줄 설정
|--------------------------------------------------------------------------
|
| frequency: weekly | daily
| MaxMind는 주 2회(화/금) DB를 갱신하므로 주 1회(수요일)로도 충분합니다.
|
*/
'schedule' => [
'frequency' => env('GEOIP_SCHEDULE_FREQUENCY', 'weekly'),
'time' => env('GEOIP_SCHEDULE_TIME', '03:00'),
],
/*
|--------------------------------------------------------------------------
| 캐시 설정
|--------------------------------------------------------------------------
|
| IP별 타임존 조회 결과를 캐싱하여 성능을 향상시킵니다.
| 캐시 TTL은 초 단위로 설정합니다.
|
*/
'cache' => [
'enabled' => true,
'prefix' => 'geoip.timezone.',
'ttl' => 86400, // 24시간 (초 단위)
],
];