diff --git a/Docker/liberate.sh b/Docker/liberate.sh index ba71bad9..decf16c4 100755 --- a/Docker/liberate.sh +++ b/Docker/liberate.sh @@ -49,7 +49,7 @@ update_settings() { is_mounted() { DIR=$1 - if mount | grep -q "${DIR}"; + if grep -qs "${DIR} " /proc/mounts; then return 0 else @@ -80,13 +80,6 @@ run() { } main() { - # TERM isn't set by default in docker images - if [[ -z ${TERM} || ${TERM} = "dumb" ]]; then - TERM=xterm-256color - fi - - info ${TERM} - info "initializing libation" init_config_file AccountsSettings.json init_config_file Settings.json @@ -98,7 +91,7 @@ main() { info "loading database" FILE=LibationContext.db # If user provides a separate database mount, use that - if is_mounted ${LIBATION_DB_DIR}; + if is_mounted "${LIBATION_DB_DIR}"; then debug "using database directory ${LIBATION_DB_DIR}" if [ -f "${LIBATION_DB_DIR}/${FILE}" ]; then @@ -119,7 +112,7 @@ main() { fi # Try to warn if books dir wasn't mounted in - if ! is_mounted ${LIBATION_BOOKS_DIR}; + if ! is_mounted "${LIBATION_BOOKS_DIR}"; then warn "${LIBATION_BOOKS_DIR} does not appear to be mounted, books will not be saved" fi diff --git a/Documentation/Docker.md b/Documentation/Docker.md index afda7e09..2b82b00d 100644 --- a/Documentation/Docker.md +++ b/Documentation/Docker.md @@ -44,7 +44,7 @@ sudo docker run -d \ | SLEEP_TIME | -1 | Length of time to sleep before doing another scan/download. Set to -1 to run one. | | LIBATION_BOOKS_DIR | /data | Folder where books will be saved | | LIBATION_CONFIG_DIR | /config | Folder to read configuration from. | -| LIBATION_DB_DIR | /db | Optional folder to load database from. If not present, will load database from `LIBATION_CONFIG_DIR`. | +| LIBATION_DB_DIR | /db | Optional folder to load database from. If not mounted, will load database from `LIBATION_CONFIG_DIR`. | ### User This docker image runs as user `1001`. In order for the image to function properly, user `1001` must be able to read and write the volumes that are mounted in. If they are not, you will see errors @@ -62,4 +62,4 @@ sudo docker run -d \ ``` ### Advanced Database Options -The docker image supports an optional database mount location defined by `LIBATION_DB_DIR`. This allows the database to be mounted as read/write, while allowing the rest of the configuration files to be mounted as read only. This is specifically useful if running in Kubernetes where you can use Configmaps and Secrets to define the configuration. The image will attempt to load the database first from `LIBATION_DB_DIR`, then from `LIBATION_CONFIG_DIR`, and finally it will try to create a new database in `LIBATION_CONFIG_DIR`. \ No newline at end of file +The docker image supports an optional database mount location defined by `LIBATION_DB_DIR`. This allows the database to be mounted as read/write, while allowing the rest of the configuration files to be mounted as read only. This is specifically useful if running in Kubernetes where you can use Configmaps and Secrets to define the configuration. If the `LIBATION_DB_DIR` is mounted, it will be used, otherwise it will look for the database in `LIBATION_CONFIG_DIR`. If it does not find the database in the expected location, it will attempt to make an empty database there. \ No newline at end of file