#!/command/with-contenv /usr/bin/bash # shellcheck shell=bash declare -r log_prefix="[init-folders]" declare -r export_dir="/usr/src/paperless/export" declare -r data_dir="${PAPERLESS_DATA_DIR:-/usr/src/paperless/data}" declare -r media_root_dir="${PAPERLESS_MEDIA_ROOT:-/usr/src/paperless/media}" declare -r consume_dir="${PAPERLESS_CONSUMPTION_DIR:-/usr/src/paperless/consume}" declare -r tmp_dir="${PAPERLESS_SCRATCH_DIR:=/tmp/paperless}" echo "${log_prefix} Checking for folder existence" for dir in \ "${export_dir}" \ "${data_dir}" "${data_dir}/index" \ "${media_root_dir}" "${media_root_dir}/documents" "${media_root_dir}/documents/originals" "${media_root_dir}/documents/thumbnails" \ "${consume_dir}" \ "${tmp_dir}"; do if [[ ! -d "${dir}" ]]; then mkdir --parents --verbose "${dir}" fi done echo "${log_prefix} Adjusting file and folder permissions" for dir in \ "${export_dir}" \ "${data_dir}" \ "${media_root_dir}" \ "${consume_dir}" \ "${tmp_dir}"; do find "${dir}" -not \( -user paperless -and -group paperless \) -exec chown --changes paperless:paperless {} + done