mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-06-14 16:42:35 +02:00
66 lines
1.5 KiB
JavaScript
66 lines
1.5 KiB
JavaScript
// Update with your config settings.
|
|
|
|
const dbType = process.env.DB_TYPE || 'sqlite3';
|
|
const dbHost = process.env.DB_HOST;
|
|
const dbName = process.env.DB_NAME;
|
|
const dbUser = process.env.DB_USER;
|
|
const dbPass = process.env.DB_PASS;
|
|
|
|
let database;
|
|
|
|
switch (dbType) {
|
|
case 'sqlite3':
|
|
const dialect = require("knex/lib/dialects/sqlite3/index.js");
|
|
dialect.prototype._driver = () => require("@louislam/sqlite3");
|
|
|
|
database = {
|
|
client: dialect,
|
|
connection: {
|
|
filename: './data/kuma.db',
|
|
acquireConnectionTimeout: 120 * 1000,
|
|
},
|
|
useNullAsDefault: true,
|
|
pool: {
|
|
min: 1,
|
|
max: 1,
|
|
idleTimeoutMillis: 120 * 1000,
|
|
propagateCreateError: false,
|
|
acquireTimeoutMillis: 120 * 1000,
|
|
},
|
|
migrations: {
|
|
tableName: 'knex_migrations'
|
|
}
|
|
};
|
|
break;
|
|
|
|
case 'mysql':
|
|
|
|
database = {
|
|
client: "mysql",
|
|
connection: {
|
|
host: dbHost,
|
|
user: dbUser,
|
|
database: dbName,
|
|
password: dbPass,
|
|
}
|
|
};
|
|
break;
|
|
}
|
|
|
|
function setPath(path) {
|
|
if (dbType !== 'sqlite')
|
|
return;
|
|
|
|
database.connection.filename = path;
|
|
}
|
|
|
|
function getDialect() {
|
|
return dbType;
|
|
}
|
|
|
|
module.exports = {
|
|
development: database,
|
|
production: database,
|
|
setPath: setPath,
|
|
getDialect: getDialect,
|
|
};
|