# Database DATABASE_URL=postgres://sori_studio:replace-with-random-password@sori-studio-db:5432/sori_studio DATABASE_NAME=sori_studio POSTGRES_DB=sori_studio POSTGRES_USER=sori_studio POSTGRES_PASSWORD=replace-with-random-password DB_BIND_ADDRESS=127.0.0.1 DB_PORT=43081 # Auth ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD=replace-with-random-password MEMBER_SESSION_SECRET=replace-with-random-password # ANALYTICS_HASH_SECRET= ← 선택. 일별 방문자 해시용 비밀. 비우면 MEMBER_SESSION_SECRET을 대신 사용. # ANALYTICS_COLLECTED_SINCE=2026-06-01 ← 선택. 관리자 통계 집계 시작일(YYYY-MM-DD). # Upload UPLOAD_DIR=/uploads # 마이그레이션·reconcile 완료 후 database. 신규 설치는 filesystem으로 시작한 뒤 reconcile → database. MEDIA_CATALOG_MODE=database MAX_FILE_SIZE=10485760 MAX_VIDEO_FILE_SIZE=209715200 MAX_AUDIO_FILE_SIZE=52428800 MAX_DOCUMENT_FILE_SIZE=52428800 POST_EXPORT_MAX_FILE_SIZE_BYTES=524288000 AVATAR_MIN_WIDTH=96 AVATAR_MIN_HEIGHT=96 AVATAR_MAX_WIDTH=512 AVATAR_MAX_HEIGHT=512 AVATAR_WEBP_QUALITY=82 # Site NUXT_PUBLIC_SITE_URL=https://sori.studio NUXT_PUBLIC_SITE_TITLE=sori.studio # Google AdSense Management API (optional — 관리자 대시보드 수익 통계) # GOOGLE_ADSENSE_CLIENT_ID= # GOOGLE_ADSENSE_CLIENT_SECRET= # GOOGLE_ADSENSE_REFRESH_TOKEN= # GOOGLE_ADSENSE_ACCOUNT_NAME=accounts/pub-1234567890123456 # GOOGLE_ADSENSE_CURRENCY_CODE=KRW # GOOGLE_ADSENSE_CREDENTIALS_PATH= ← 선택. 토큰 발급 스크립트에서 credentials.json을 직접 읽을 때만 사용. # GOOGLE_ADSENSE_OAUTH_PORT=43082 # Transactional email (Resend, optional — 회원가입 OTP·비밀번호 찾기) # RESEND_API_KEY= # RESEND_FROM_EMAIL=noreply@yourdomain.com # EMAIL_OTP_PEPPER= ← 선택. OTP를 DB에 해시해 저장할 때 섞는 서버 전용 비밀(긴 난문자열 권장, 예: openssl rand -hex 32). 비우면 MEMBER_SESSION_SECRET을 대신 사용. # Server APP_PORT=43080 DOCKER_SUBNET=10.250.50.0/24