Skip to content

Configuration Reference

Whether using Docker or Docker Compose (.env) deployment, configuration is done through environment variables.

Environment Variables List

Environment VariableDescriptionDefaultRequired
CFRAME_ADMIN_EMAILInitial admin user emailadmin@chronoframe.comYes
CFRAME_ADMIN_NAMEInitial admin usernameChronoframeNo
CFRAME_ADMIN_PASSWORDInitial admin user passwordCF1234@!No
NUXT_PUBLIC_APP_TITLEApplication titleChronoFrameNo
NUXT_PUBLIC_APP_SLOGANApplication sloganNoneNo
NUXT_PUBLIC_APP_AUTHORApplication authorNoneNo
NUXT_PUBLIC_APP_AVATAR_URLApplication avatar URLNoneNo
NUXT_PUBLIC_COLOR_MODE_PREFERENCEColor mode preference, options: light, dark, systemsystemNo
NUXT_PUBLIC_MAP_PROVIDERMap provider, options: mapbox, maplibremaplibreNo
NUXT_PUBLIC_MAPBOX_ACCESS_TOKENMapbox access token (URL restricted), for map servicesNoneRequired when NUXT_PUBLIC_MAP_PROVIDER is mapbox
NUXT_NOMINATIM_BASE_URLNominatim base URL for reverse geocoding servicehttps://nominatim.openstreetmap.orgNo
NUXT_MAPBOX_ACCESS_TOKENMapbox access token (no URL restriction), for location servicesNoneNo
NUXT_STORAGE_PROVIDERStorage provider, supports local, s3, openlistlocalYes
NUXT_PROVIDER_LOCAL_PATHLocal storage path/app/data/storageNo
NUXT_PROVIDER_LOCAL_BASE_URLLocal storage access URL/storageNo
NUXT_PROVIDER_S3_ENDPOINTS3 compatible storage service endpointNoneRequired when NUXT_STORAGE_PROVIDER is s3
NUXT_PROVIDER_S3_BUCKETS3 bucket namechronoframeRequired when NUXT_STORAGE_PROVIDER is s3
NUXT_PROVIDER_S3_REGIONS3 bucket regionautoRequired when NUXT_STORAGE_PROVIDER is s3
NUXT_PROVIDER_S3_ACCESS_KEY_IDS3 access key IDNoneRequired when NUXT_STORAGE_PROVIDER is s3
NUXT_PROVIDER_S3_SECRET_ACCESS_KEYS3 secret access keyNoneRequired when NUXT_STORAGE_PROVIDER is s3
NUXT_PROVIDER_S3_PREFIXS3 storage prefixphotos/No
NUXT_PROVIDER_S3_CDN_URLS3 storage CDN URLNoneNo
NUXT_PROVIDER_OPENLIST_BASE_URLOpenList server URLNoneRequired when NUXT_STORAGE_PROVIDER is openlist
NUXT_PROVIDER_OPENLIST_ROOT_PATHOpenList root pathNoneRequired when NUXT_STORAGE_PROVIDER is openlist
NUXT_PROVIDER_OPENLIST_TOKENOpenList API tokenNoneRecommended (for OpenList authentication)
NUXT_PROVIDER_OPENLIST_ENDPOINT_UPLOADOpenList upload endpoint/api/fs/putNo
NUXT_PROVIDER_OPENLIST_ENDPOINT_DOWNLOADOpenList download endpointNoneNo
NUXT_PROVIDER_OPENLIST_ENDPOINT_LISTOpenList list endpointNoneNo
NUXT_PROVIDER_OPENLIST_ENDPOINT_DELETEOpenList delete endpoint/api/fs/removeNo
NUXT_PROVIDER_OPENLIST_ENDPOINT_METAOpenList metadata endpoint/api/fs/getNo
NUXT_PROVIDER_OPENLIST_PATH_FIELDOpenList path field namepathNo
NUXT_PROVIDER_OPENLIST_CDN_URLOpenList CDN URLNoneNo
NUXT_PUBLIC_OAUTH_GITHUB_ENABLEDEnable GitHub OAuth loginfalseNo
NUXT_OAUTH_GITHUB_CLIENT_IDGitHub OAuth app Client IDNoneNo (optional, for GitHub login)
NUXT_OAUTH_GITHUB_CLIENT_SECRETGitHub OAuth app Client SecretNoneNo (optional, for GitHub login)
NUXT_SESSION_PASSWORDPassword for encrypting sessions, 32-character random stringNoneYes
NUXT_PUBLIC_GTAG_IDGoogle Analytics Tracking IDNoneNo
NUXT_PUBLIC_ANALYTICS_MATOMO_ENABLEDEnable Matomo analytics trackingfalseNo
NUXT_PUBLIC_ANALYTICS_MATOMO_URLMatomo instance URL (e.g., https://matomo.example.com)NoneNo (required when Matomo is enabled)
NUXT_PUBLIC_ANALYTICS_MATOMO_SITE_IDMatomo site IDNoneNo (required when Matomo is enabled)
NUXT_UPLOAD_MIME_WHITELIST_ENABLEDEnable MIME type whitelist validation for uploadstrueNo
NUXT_UPLOAD_MIME_WHITELISTAllowed MIME types for uploads (comma-separated)See belowNo
NUXT_UPLOAD_DUPLICATE_CHECK_ENABLEDEnable duplicate file detection during uploadtrueNo
NUXT_UPLOAD_DUPLICATE_CHECK_MODEDuplicate handling mode, options: warn, block, skipskipNo
ALLOW_INSECURE_COOKIEAllow insecure cookies (only for development environment)falseNo

Upload File Type Whitelist

The default value of NUXT_UPLOAD_MIME_WHITELIST includes the following MIME types:

  • image/jpeg - JPEG images
  • image/png - PNG images
  • image/webp - WebP images
  • image/gif - GIF images
  • image/bmp - BMP images
  • image/tiff - TIFF images
  • image/heic - HEIC images (Apple)
  • image/heif - HEIF images
  • video/quicktime - QuickTime videos (MOV)
  • video/mp4 - MP4 videos

To customize the whitelist, use a comma-separated string of MIME types, for example:

NUXT_UPLOAD_MIME_WHITELIST=image/jpeg,image/png,video/mp4

To disable whitelist validation (allow any file type), set:

NUXT_UPLOAD_MIME_WHITELIST_ENABLED=false

Duplicate File Detection

NUXT_UPLOAD_DUPLICATE_CHECK_ENABLED controls whether to detect duplicate files during upload.

NUXT_UPLOAD_DUPLICATE_CHECK_MODE has three modes:

skip (Skip Mode) - Default

  • Skips upload when duplicate file is detected
  • Returns existing photo info without any operations
  • Suitable for automatic deduplication during batch uploads
NUXT_UPLOAD_DUPLICATE_CHECK_MODE=skip

warn (Warning Mode)

  • Shows warning when duplicate file is detected
  • Continues upload, will overwrite existing photo data
  • Suitable for scenarios where photo updates are needed
NUXT_UPLOAD_DUPLICATE_CHECK_MODE=warn

block (Block Mode)

  • Rejects upload if duplicate file is detected
  • Returns 409 error, doesn't allow overwriting
  • Suitable for scenarios requiring strict duplicate prevention
NUXT_UPLOAD_DUPLICATE_CHECK_MODE=block

Completely Disable Detection

NUXT_UPLOAD_DUPLICATE_CHECK_ENABLED=false

Notes:

  • Duplicate detection is based on filename, not file content
  • Same filename generates same photoId
  • Even with detection disabled, uploading same filename will still overwrite existing data (database uses onConflictDoUpdate)
  • Recommend using unique filenames (e.g., adding timestamps) to avoid conflicts

Released under the MIT License.