Files
oxmc 22af2caec7
Release Please / release-please (push) Has been cancelled
Docker Build and Push (Development) / build-and-push-dev (push) Has been cancelled
feat: default to SQLite engine, disable Mongo service by default in compose
Mongo services in both compose files are now commented out (with instructions
to re-enable) since DB_ENGINE now defaults to sqlite - no separate database
container required out of the box. db-data volume is mounted into the app
service (not just mongo) so it can hold the SQLite file too.

Also fixes a require-order bug in tests/utils/express-app.js: routers were
required (eagerly instantiating DB singletons via dbFactory) before the test
env file was loaded, so DB_ENGINE from .env.test was silently never applied -
it only worked before because the old hardcoded default happened to be mongo.
2026-07-05 04:48:54 -07:00

80 lines
3.1 KiB
TypeScript

export default {
key: process.env.KEY,
newKey: process.env.NEW_KEY,
passwordAccess: process.env.PASSWORD_ACCESS,
passwordRefresh: process.env.PASSWORD_REFRESH,
passwordCookie: process.env.PASSWORD_COOKIE,
createAcctBlocked: process.env.BLOCK_CREATE_ACCOUNT === "true",
root: process.env.ROOT,
url: process.env.URL,
mongoURL: process.env.MONGODB_URL,
dbEngine: process.env.DB_ENGINE || "sqlite",
sqliteDBPath: process.env.SQLITE_DB_PATH || "./data/mydrive.db",
dbType: process.env.DB_TYPE,
fsDirectory: process.env.FS_DIRECTORY,
s3ID: process.env.S3_ID,
s3Key: process.env.S3_KEY,
s3Bucket: process.env.S3_BUCKET,
useDocumentDB: process.env.USE_DOCUMENT_DB,
documentDBBundle: process.env.DOCUMENT_DB_BUNDLE,
sendgridKey: process.env.SENDGRID_KEY,
sendgridEmail: process.env.SENDGRID_EMAIL,
remoteURL: process.env.REMOTE_URL,
secureCookies: process.env.SECURE_COOKIES,
tempDirectory: process.env.TEMP_DIRECTORY,
emailVerification: process.env.EMAIL_VERIFICATION,
emailDomain: process.env.EMAIL_DOMAIN,
emailAPIKey: process.env.EMAIL_API_KEY,
emailHost: process.env.EMAIL_HOST,
emailPort: process.env.EMAIL_PORT,
emailAddress: process.env.EMAIL_ADDRESS,
videoThumbnailsEnabled: process.env.VIDEO_THUMBNAILS_ENABLED === "true",
tempVideoThumbnailLimit: process.env.TEMP_VIDEO_THUMBNAIL_LIMIT
? +process.env.TEMP_VIDEO_THUMBNAIL_LIMIT
: 0,
docker: process.env.DOCKER === "true",
httpsKeyPath: process.env.HTTPS_KEY_PATH,
httpsCaPath: process.env.HTTPS_CA_PATH,
httpsCrtPath: process.env.HTTPS_CRT_PATH,
};
module.exports = {
key: process.env.KEY,
newKey: process.env.NEW_KEY,
passwordAccess: process.env.PASSWORD_ACCESS,
passwordRefresh: process.env.PASSWORD_REFRESH,
passwordCookie: process.env.PASSWORD_COOKIE,
createAcctBlocked: process.env.BLOCK_CREATE_ACCOUNT === "true",
root: process.env.ROOT,
url: process.env.URL,
mongoURL: process.env.MONGODB_URL,
dbEngine: process.env.DB_ENGINE || "sqlite",
sqliteDBPath: process.env.SQLITE_DB_PATH || "./data/mydrive.db",
dbType: process.env.DB_TYPE,
fsDirectory: process.env.FS_DIRECTORY,
s3ID: process.env.S3_ID,
s3Key: process.env.S3_KEY,
s3Bucket: process.env.S3_BUCKET,
useDocumentDB: process.env.USE_DOCUMENT_DB,
documentDBBundle: process.env.DOCUMENT_DB_BUNDLE,
sendgridKey: process.env.SENDGRID_KEY,
sendgridEmail: process.env.SENDGRID_EMAIL,
remoteURL: process.env.REMOTE_URL,
secureCookies: process.env.SECURE_COOKIES,
tempDirectory: process.env.TEMP_DIRECTORY,
emailVerification: process.env.EMAIL_VERIFICATION,
emailDomain: process.env.EMAIL_DOMAIN,
emailAPIKey: process.env.EMAIL_API_KEY,
emailHost: process.env.EMAIL_HOST,
emailPort: process.env.EMAIL_PORT,
emailAddress: process.env.EMAIL_ADDRESS,
videoThumbnailsEnabled: process.env.VIDEO_THUMBNAILS_ENABLED === "true",
tempVideoThumbnailLimit: process.env.TEMP_VIDEO_THUMBNAIL_LIMIT
? +process.env.TEMP_VIDEO_THUMBNAIL_LIMIT
: 0,
docker: process.env.DOCKER === "true",
httpsKeyPath: process.env.HTTPS_KEY_PATH,
httpsCaPath: process.env.HTTPS_CA_PATH,
httpsCrtPath: process.env.HTTPS_CRT_PATH,
};