ecc340e7b1
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.
52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
services:
|
|
app:
|
|
container_name: mydrive
|
|
image: kylehoell/mydrive:latest
|
|
volumes:
|
|
# Use the following volumes section if you want to use bind mounts:
|
|
# - /path/to/data:/data/
|
|
# - /path/to/temp:/temp/
|
|
|
|
# Use the following volumes section if you want to use named volumes:
|
|
- mydrive-data:/data/
|
|
- mydrive-temp:/temp/
|
|
ports:
|
|
- "${HTTP_PORT:-3000}:3000"
|
|
# Optional: Uncomment the following line if you want to use HTTPS
|
|
#- "${HTTPS_PORT:-8080}:8080"
|
|
|
|
# Use expose: if using a reverse proxy
|
|
# expose:
|
|
# - 3000
|
|
# - 8080
|
|
env_file:
|
|
- .env # Copy .env.example to .env and fill in the values
|
|
|
|
# Only needed when DB_ENGINE=mongo (the default) in your .env file.
|
|
# If DB_ENGINE=sqlite, this service is unused and can be removed -
|
|
# metadata is instead stored in an embedded SQLite file under the
|
|
# mydrive-data volume (SQLITE_DB_PATH), so no separate database service is required.
|
|
mongo:
|
|
image: mongo:8
|
|
container_name: mongo
|
|
restart: always
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: username
|
|
MONGO_INITDB_ROOT_PASSWORD: password
|
|
expose:
|
|
- 27017
|
|
volumes:
|
|
- db-data:/data/db
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
|
|
timeout: 10s
|
|
interval: 10s
|
|
retries: 10
|
|
start_period: 10s
|
|
|
|
# Use the following volumes section if you want to use named volumes.
|
|
volumes:
|
|
mydrive-data:
|
|
mydrive-temp:
|
|
db-data:
|