Files
appstore/apps/mdcz/latest/scripts/init.sh
T
2026-07-11 12:46:14 +08:00

41 lines
960 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ENV_FILE="${ENV_FILE:-$ROOT_DIR/.env}"
read_env_value() {
local key="$1"
[ -f "$ENV_FILE" ] || return 0
local value
value="$(sed -n "s/^${key}=//p" "$ENV_FILE" | tail -n 1)"
value="${value%\"}"
value="${value#\"}"
value="${value%\'}"
value="${value#\'}"
printf '%s\n' "$value"
}
resolve_app_path() {
local raw="$1"
if [[ "$raw" = /* ]]; then
printf '%s\n' "$raw"
else
printf '%s\n' "$ROOT_DIR/${raw#./}"
fi
}
DATA_PATH="${APP_DATA_DIR:-$(read_env_value APP_DATA_DIR)}"
MEDIA_PATH="${MEDIA_DIR:-$(read_env_value MEDIA_DIR)}"
DATA_PATH="${DATA_PATH:-./data}"
MEDIA_PATH="${MEDIA_PATH:-./data/media}"
DATA_DIR="$(resolve_app_path "$DATA_PATH")"
MEDIA_PATH="$(resolve_app_path "$MEDIA_PATH")"
mkdir -p "$DATA_DIR" "$MEDIA_PATH"
chown -R 1000:1000 "$DATA_DIR"
chown 1000:1000 "$MEDIA_PATH"
chmod 755 "$DATA_DIR" "$MEDIA_PATH"