You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
730 B
26 lines
730 B
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# We're forced to run as user/group 1032: https://github.com/LibreTranslate/LibreTranslate/blob/f7a35db05b3ac7fcd40489faa7da827b03354faf/docker/Dockerfile#L28-L33
|
|
# So we set the owner of the data directories to 1032:1032
|
|
APP_DATA_DIR="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/..)/data"
|
|
|
|
DESIRED_OWNER="1032:1032"
|
|
|
|
API_KEYS_DATA_DIR="${APP_DATA_DIR}/api_keys"
|
|
MODELS_DATA_DIR="${APP_DATA_DIR}/models"
|
|
|
|
set_permissions() {
|
|
local -r path="${1}"
|
|
|
|
if [[ -d "${path}" ]]; then
|
|
owner=$(stat -c "%u:%g" "${path}")
|
|
|
|
if [[ "${owner}" != "${DESIRED_OWNER}" ]]; then
|
|
chown "${DESIRED_OWNER}" "${path}"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
set_permissions "${API_KEYS_DATA_DIR}"
|
|
set_permissions "${MODELS_DATA_DIR}"
|