feat: add dark mode UI and SQLite as alternate database backend
Dark mode: CSS custom properties + .dark class toggled via Redux/localStorage, with a theme toggle in the Header and Settings page. Foundation didn't exist yet despite prior assumption, so it was built from scratch. SQLite: new DB_ENGINE=mongo|sqlite env var selects the metadata backend at runtime (Mongo stays default, no behavior change unless opted in). File/thumbnail bytes continue to use the existing fs/S3 storage path. Implemented via a shared DB interface (dbTypes.ts) with parallel mongoDB/ and sqliteDB/ implementations, selected through dbFactory.ts, with JWT/encryption logic extracted into userCrypto.ts so both engines share it.
This commit is contained in:
+11
-1
@@ -1,10 +1,20 @@
|
||||
# If you are using Docker, set DOCKER=true
|
||||
DOCKER=true
|
||||
|
||||
# MongoDB URL: Connection string for your MongoDB database
|
||||
# Database Engine: Choose between "mongo" and "sqlite", this specifies where file/folder/user METADATA is stored.
|
||||
# This is separate from DB_TYPE below, which controls where the raw file BYTES are stored.
|
||||
# mongo = MongoDB (default)
|
||||
# sqlite = embedded SQLite file, no separate database server needed
|
||||
DB_ENGINE=mongo
|
||||
|
||||
# MongoDB URL: Connection string for your MongoDB database (only used when DB_ENGINE=mongo)
|
||||
# Note: if using the compose file provided, the connection string should be as follows:
|
||||
MONGODB_URL=mongodb://username:password@mongo:27017/mydrive?authSource=admin
|
||||
|
||||
# SQLite DB Path (only used when DB_ENGINE=sqlite): path to the SQLite database file.
|
||||
# Should live inside a persisted volume (e.g. the same one used for FS_DIRECTORY) so it survives restarts.
|
||||
SQLITE_DB_PATH=/data/mydrive.db
|
||||
|
||||
# Database Type: Choose between "fs" and "s3", this specifies where the files will be stored.
|
||||
# fs = Filesystem
|
||||
# s3 = Amazon S3
|
||||
|
||||
Reference in New Issue
Block a user