@@ -276,88 +276,17 @@ Riven supports multiple configuration methods:
2762761 .  ** Web Interface**  (primary)
277277   -  User-friendly settings UI
278278   -  Real-time validation
279-    -  Stored in PostgreSQL 
279+    -  Stored in settings file 
280280
2812812 .  ** Environment Variables** 
282282   -  Prefix: ` RIVEN_ ` 
283283   -  Format: ` RIVEN_CATEGORY_SUBCATEGORY_SETTING ` 
284284   -  Example: ` RIVEN_FILESYSTEM_MOUNT_PATH=/mount ` 
285285
286- 3 .  ** Settings File**  (legacy) 
286+ 3 .  ** Settings File** 
287287   -  JSON-based configuration
288-    -  Used as fallback
289288
290- Priority: Environment Variables > Database Settings > Defaults
291- 
292- --- 
293- 
294- ## Scaling & Performance  
295- 
296- ### Multi-User Support  
297- -  RivenVFS includes fair scheduling for concurrent streams
298- -  Each user gets proportional bandwidth allocation
299- -  No single stream monopolizes resources
300- 
301- ### Caching Strategy  
302- -  ** Hot Cache** : Frequently accessed chunks stay in cache (LRU)
303- -  ** Prefetch** : Read-ahead prevents buffering
304- -  ** Eviction** : Automatic cleanup when cache fills
305- 
306- ### Database Optimization  
307- -  Indexed queries for fast lookups
308- -  Lazy loading of relationships
309- -  Periodic cleanup of old data
310- 
311- ### Resource Usage  
312- -  ** CPU** : Low (except during scraping)
313- -  ** Memory** : Moderate (depends on cache size)
314- -  ** Disk I/O** : Low (VFS streams, minimal writes)
315- -  ** Network** : Variable (depends on streaming activity)
316- 
317- --- 
318- 
319- ## Security Considerations  
320- 
321- 1 .  ** API Authentication** 
322-    -  API key required for all requests
323-    -  32-character secure keys
324- 
325- 2 .  ** Container Isolation** 
326-    -  FUSE runs in container with limited permissions
327-    -  No host filesystem access except mount point
328- 
329- 3 .  ** Debrid Service Keys** 
330-    -  Stored encrypted in database
331-    -  Never exposed in logs or API responses
332- 
333- 4 .  ** Network Security** 
334-    -  HTTPS recommended for reverse proxy
335-    -  CORS protection enabled
336- 
337- --- 
338- 
339- ## Deployment Patterns  
340- 
341- ### Single-User Home Setup  
342- ``` 
343- [User] → [Reverse Proxy] → [Riven Frontend] → [Riven Backend + VFS] 
344-                                                       ↓ 
345-                                               [Media Server] 
346- ``` 
347- 
348- ### Multi-User Shared Setup  
349- ``` 
350- [User 1] ┐ 
351- [User 2] ├→ [Reverse Proxy] → [Riven] → [Shared Media Server] 
352- [User 3] ┘ 
353- ``` 
354- 
355- ### ElfHosted (Cloud)  
356- ``` 
357- [User] → [ElfHosted Infrastructure] → [Riven + Media Server] 
358-                                             ↓ 
359-                                     [Shared Debrid Pool] 
360- ``` 
289+ Priority: Environment Variables > Settings File > Defaults
361290
362291--- 
363292
@@ -372,10 +301,10 @@ Priority: Environment Variables > Database Settings > Defaults
372301-  ** Async** : asyncio, trio (for FUSE)
373302
374303### Frontend  
375- -  ** Framework** : Next.js 15 
304+ -  ** Framework** : Svelte 5 
376305-  ** Language** : TypeScript
377- -  ** UI Library** : Fumadocs  UI
378- -  ** State Management** : React hooks 
306+ -  ** UI Library** : Shadcn/ UI
307+ -  ** State Management** : Svelte stores 
379308
380309### Build & Deploy  
381310-  ** Backend** : Docker multi-stage builds
@@ -402,12 +331,4 @@ Priority: Environment Variables > Database Settings > Defaults
402331-  Database connectivity
403332-  VFS mount status
404333-  Debrid service availability
405- -  Media server connectivity
406- 
407- --- 
408- 
409- ## See Also  
410- 
411- -  [ Filesystem (VFS)] ( /docs/services/filesystem )  - Detailed VFS documentation
412- -  [ Services] ( /docs/services )  - Service configuration guides
413- -  [ Troubleshooting] ( /docs/troubleshooting )  - Common issues and solutions
334+ -  Media server connectivity
0 commit comments