Browse Source

Merge pull request #404 from mprasil/disable_wal

Add an option to not enable WAL (should help in #399)
pull/406/head
Daniel García 6 years ago
committed by GitHub
parent
commit
72de16fb86
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      .env.template
  2. 3
      src/config.rs
  3. 2
      src/main.rs

8
.env.template

@ -43,6 +43,14 @@
## It's recommended to also set 'ROCKET_CLI_COLORS=off' ## It's recommended to also set 'ROCKET_CLI_COLORS=off'
# LOG_FILE=/path/to/log # LOG_FILE=/path/to/log
## Enable WAL for the DB
## Set to false to avoid enabling WAL during startup.
## Note that if the DB already has WAL enabled, you will also need to disable WAL in the DB,
## this setting only prevents bitwarden_rs from automatically enabling it on start.
## Please read project wiki page about this setting first before changing the value as it can
## cause performance degradation or might render the service unable to start.
# ENABLE_DB_WAL=true
## Disable icon downloading ## Disable icon downloading
## Set to true to disable icon downloading, this would still serve icons from $ICON_CACHE_FOLDER, ## Set to true to disable icon downloading, this would still serve icons from $ICON_CACHE_FOLDER,
## but it won't produce any external network request. Needs to set $ICON_CACHE_TTL to 0, ## but it won't produce any external network request. Needs to set $ICON_CACHE_TTL to 0,

3
src/config.rs

@ -253,6 +253,9 @@ make_config! {
extended_logging: bool, false, def, true; extended_logging: bool, false, def, true;
/// Log file path /// Log file path
log_file: String, false, option; log_file: String, false, option;
/// Enable DB WAL |> Turning this off might lead to worse performance, but might help if using bitwarden_rs on some exotic filesystems, that do not support WAL. Please make sure you read project wiki on the topic before changing this setting.
enable_db_wal: bool, false, def, true;
}, },
/// Yubikey settings /// Yubikey settings

2
src/main.rs

@ -168,11 +168,13 @@ fn check_db() {
} }
// Turn on WAL in SQLite // Turn on WAL in SQLite
if CONFIG.enable_db_wal() {
use diesel::RunQueryDsl; use diesel::RunQueryDsl;
let connection = db::get_connection().expect("Can't conect to DB"); let connection = db::get_connection().expect("Can't conect to DB");
diesel::sql_query("PRAGMA journal_mode=wal") diesel::sql_query("PRAGMA journal_mode=wal")
.execute(&connection) .execute(&connection)
.expect("Failed to turn on WAL"); .expect("Failed to turn on WAL");
}
} }
fn check_rsa_keys() { fn check_rsa_keys() {

Loading…
Cancel
Save