{
  "service": {
    "name": "LumenShelf",
    "version": "2.8.4",
    "baseUrl": "https://photos.home.example",
    "environment": "production",
    "timezone": "America/Toronto",
    "maintenanceMode": false
  },
  "storage": {
    "libraryPath": "/srv/photos/library",
    "thumbnailPath": "/srv/photos/cache/thumbnails",
    "database": {
      "engine": "postgresql",
      "host": "postgres",
      "port": 5432,
      "database": "lumenshelf",
      "sslMode": "disable",
      "pool": {
        "minConnections": 2,
        "maxConnections": 20,
        "idleTimeoutSeconds": 300
      }
    },
    "objectStore": {
      "enabled": true,
      "provider": "s3-compatible",
      "endpoint": "https://minio.home.example",
      "bucket": "photo-originals",
      "region": "us-east-1",
      "pathStyle": true
    }
  },
  "authentication": {
    "allowPublicAlbums": true,
    "sessionLifetimeHours": 168,
    "passwordPolicy": {
      "minimumLength": 12,
      "requireNumbers": true,
      "requireSymbols": false
    },
    "oauth": {
      "enabled": false,
      "providers": []
    },
    "users": [
      {
        "id": "usr_01J2M5W8ZK8V4R1C2AK4R7NQ9S",
        "email": "admin@example.com",
        "displayName": "Alex Rivera",
        "role": "admin",
        "quotaGb": 2048
      },
      {
        "id": "usr_01J2M5X2E7FJ9BZK2MHB7CDY4A",
        "email": "family@example.com",
        "displayName": "Family Uploads",
        "role": "contributor",
        "quotaGb": 250
      }
    ]
  },
  "processing": {
    "workers": 4,
    "scanIntervalMinutes": 15,
    "generateThumbnails": true,
    "thumbnailSizes": [256, 512, 1024],
    "extractMetadata": true,
    "faceRecognition": {
      "enabled": true,
      "model": "retinaface-mobile",
      "minimumConfidence": 0.82,
      "clusterThreshold": 0.58
    },
    "deduplication": {
      "enabled": true,
      "strategy": "perceptual-hash",
      "hammingDistance": 6
    }
  },
  "albums": [
    {
      "id": "alb_2026_summer_cottage",
      "title": "Summer Cottage",
      "ownerId": "usr_01J2M5W8ZK8V4R1C2AK4R7NQ9S",
      "visibility": "private",
      "createdAt": "2026-06-28T14:12:09-04:00",
      "photoCount": 384,
      "tags": ["family", "lake", "vacation"]
    },
    {
      "id": "alb_public_garden",
      "title": "Backyard Garden",
      "ownerId": "usr_01J2M5W8ZK8V4R1C2AK4R7NQ9S",
      "visibility": "public-link",
      "share": {
        "enabled": true,
        "slug": "garden-2026",
        "expiresAt": null,
        "allowDownloads": false
      },
      "createdAt": "2026-05-19T09:44:31-04:00",
      "photoCount": 72,
      "tags": ["garden", "macro", "spring"]
    }
  ],
  "recentUploads": [
    {
      "id": "pho_01J2N8E06A2MN4Q5CJ2W1S33HF",
      "filename": "DSC_1842.NEF",
      "mediaType": "image/raw",
      "sizeBytes": 28753144,
      "capturedAt": "2026-07-05T18:22:11-04:00",
      "uploadedAt": "2026-07-06T21:03:48-04:00",
      "camera": {
        "make": "Nikon",
        "model": "Z6 II",
        "lens": "NIKKOR Z 24-70mm f/4 S",
        "iso": 400,
        "aperture": "f/5.6",
        "shutterSpeed": "1/250"
      },
      "location": {
        "city": "Muskoka",
        "region": "Ontario",
        "country": "Canada",
        "latitude": 45.0372,
        "longitude": -79.3079
      },
      "albumIds": ["alb_2026_summer_cottage"],
      "processingStatus": "complete"
    },
    {
      "id": "pho_01J2N8GX1VX9A8XEPH9KGF1Y8C",
      "filename": "IMG_7731.HEIC",
      "mediaType": "image/heic",
      "sizeBytes": 3948120,
      "capturedAt": "2026-07-06T08:41:32-04:00",
      "uploadedAt": "2026-07-06T21:04:02-04:00",
      "camera": {
        "make": "Apple",
        "model": "iPhone 15 Pro",
        "lens": "Main Camera",
        "iso": 64,
        "aperture": "f/1.8",
        "shutterSpeed": "1/120"
      },
      "location": null,
      "albumIds": ["alb_2026_summer_cottage", "alb_public_garden"],
      "processingStatus": "queued"
    }
  ],
  "backup": {
    "enabled": true,
    "schedule": "0 3 * * *",
    "retentionDays": 45,
    "targets": [
      {
        "type": "local",
        "path": "/mnt/backup/photos",
        "encrypted": true
      },
      {
        "type": "restic",
        "repository": "sftp:backup@example-nas.local:/volume1/backups/lumenshelf",
        "encrypted": true
      }
    ],
    "lastRun": {
      "startedAt": "2026-07-10T03:00:00-04:00",
      "finishedAt": "2026-07-10T03:18:42-04:00",
      "status": "success",
      "filesAdded": 128,
      "bytesAdded": 1842379912
    }
  },
  "api": {
    "rateLimit": {
      "enabled": true,
      "requestsPerMinute": 120
    },
    "cors": {
      "allowedOrigins": ["https://photos.home.example"],
      "allowCredentials": true
    }
  }
}