Compare commits

...

4 commits

Author SHA1 Message Date
Louis Lam
85cadffa8d
Merge 9c4c60e270 into be2faf64ce 2024-12-22 05:46:24 +00:00
Louis Lam
be2faf64ce
Clarify that BSD OSs are not supported (#5465)
Some checks failed
validate / json-yaml-validate (push) Has been cancelled
validate / validate (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
2024-12-22 13:46:13 +08:00
Louis Lam
0b76e19401
Clarify that BSD OSs are not supported 2024-12-22 13:45:19 +08:00
Louis Lam
9c4c60e270 Check NFS 2024-07-06 23:56:56 +08:00
2 changed files with 10 additions and 0 deletions

View file

@ -62,6 +62,7 @@ Requirements:
- Platform - Platform
- ✅ Major Linux distros such as Debian, Ubuntu, CentOS, Fedora and ArchLinux etc. - ✅ Major Linux distros such as Debian, Ubuntu, CentOS, Fedora and ArchLinux etc.
- ✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher - ✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher
- ❌ FreeBSD / OpenBSD / NetBSD
- ❌ Replit / Heroku - ❌ Replit / Heroku
- [Node.js](https://nodejs.org/en/download/) 18 / 20.4 - [Node.js](https://nodejs.org/en/download/) 18 / 20.4
- [npm](https://docs.npmjs.com/cli/) 9 - [npm](https://docs.npmjs.com/cli/) 9

View file

@ -236,6 +236,15 @@ class Database {
fs.copyFileSync(Database.templatePath, Database.sqlitePath); fs.copyFileSync(Database.templatePath, Database.sqlitePath);
} }
// Check if Database.sqlitePath is on NFS
if (fs.existsSync(Database.sqlitePath)) {
let stats = fs.statSync(Database.sqlitePath);
log.debug("server", "SQLite database inode: " + stats.ino);
if (stats.ino === 0) {
log.error("server", "It seems that the database is on a network drive (NFS). Uptime Kuma will be UNSTABLE and the database will be CORRUPTED. Please use a local disk.");
}
}
const Dialect = require("knex/lib/dialects/sqlite3/index.js"); const Dialect = require("knex/lib/dialects/sqlite3/index.js");
Dialect.prototype._driver = () => require("@louislam/sqlite3"); Dialect.prototype._driver = () => require("@louislam/sqlite3");