mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-23 16:01:01 +00:00
39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)"
|
|
ENV_FILE="${ENV_FILE:-${ROOT_DIR}/.env}"
|
|
|
|
read_env_value() {
|
|
local key="$1"
|
|
local value
|
|
[[ -f "${ENV_FILE}" && ! -L "${ENV_FILE}" ]] || return 0
|
|
value="$(sed -n "s/^${key}=//p" "${ENV_FILE}" | tail -n 1)"
|
|
case "${value}" in
|
|
\"*\") value="${value#\"}"; value="${value%\"}" ;;
|
|
\'*\') value="${value#\'}"; value="${value%\'}" ;;
|
|
esac
|
|
printf '%s\n' "${value}"
|
|
}
|
|
|
|
append_if_missing() {
|
|
local key="$1"
|
|
local value="$2"
|
|
[[ -f "${ENV_FILE}" && ! -L "${ENV_FILE}" ]] || return 0
|
|
if ! grep -qE "^${key}=" "${ENV_FILE}"; then
|
|
printf '%s=%s\n' "${key}" "${value}" >> "${ENV_FILE}"
|
|
fi
|
|
}
|
|
|
|
append_if_missing SEATABLE_MYSQL_DB_DTABLE_DB_NAME seatable_dtable_db
|
|
append_if_missing SEATABLE_MYSQL_DB_CCNET_DB_NAME seatable_ccnet_db
|
|
append_if_missing SEATABLE_MYSQL_DB_SEAFILE_DB_NAME seatable_seafile_db
|
|
|
|
DATA_DIR="${DATA_PATH:-$(read_env_value DATA_PATH)}"
|
|
DATA_DIR="${DATA_DIR:-./data}"
|
|
if [[ "${DATA_DIR}" != /* ]]; then
|
|
DATA_DIR="${ROOT_DIR}/${DATA_DIR#./}"
|
|
fi
|
|
[[ "${DATA_DIR}" != / ]] || exit 1
|
|
mkdir -p -- "${DATA_DIR}"
|