feat(installer): configure timezone using timedatectl (#2418)

This commit is contained in:
Jonas L 2023-03-03 16:53:56 +01:00 committed by GitHub
parent 11e8cac471
commit 2facdc61ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 26 additions and 0 deletions

26
install
View File

@ -104,6 +104,8 @@ LIBRETIME_USER=${LIBRETIME_USER:-"libretime"}
LIBRETIME_LISTEN_PORT=${LIBRETIME_LISTEN_PORT:-"80"} LIBRETIME_LISTEN_PORT=${LIBRETIME_LISTEN_PORT:-"80"}
# > Public URL for LibreTime. # > Public URL for LibreTime.
LIBRETIME_PUBLIC_URL=${LIBRETIME_PUBLIC_URL:-} LIBRETIME_PUBLIC_URL=${LIBRETIME_PUBLIC_URL:-}
# > Timezone for LibreTime.
LIBRETIME_TIMEZONE=${LIBRETIME_TIMEZONE:-}
# > Install LibreTime in editable mode. # > Install LibreTime in editable mode.
# > Will keep working files in the project directory. # > Will keep working files in the project directory.
@ -388,6 +390,24 @@ install_packages() {
fi fi
} }
# get_system_timezone
get_system_timezone() {
if ! command -v timedatectl > /dev/null; then
return
fi
timezone="$(timedatectl show --property=Timezone --value)"
if [[ -n "$timezone" && ! "$timezone" =~ UTC$ ]]; then
echo "$timezone"
fi
}
load_config_defaults() {
if [[ -z "$LIBRETIME_TIMEZONE" ]]; then
LIBRETIME_TIMEZONE="$(get_system_timezone)"
fi
}
# Prepare # Prepare
######################################################################################## ########################################################################################
@ -397,6 +417,8 @@ install_packages() {
banner banner
check_distribution check_distribution
load_config_defaults
is_first_install=true is_first_install=true
if [[ -f "$CONFIG_FILEPATH" ]]; then if [[ -f "$CONFIG_FILEPATH" ]]; then
is_first_install=false is_first_install=false
@ -430,6 +452,10 @@ if $is_first_install; then
fi fi
set_config "$(generate_random_password)" general api_key set_config "$(generate_random_password)" general api_key
if [[ -n "$LIBRETIME_TIMEZONE" ]]; then
set_config "$LIBRETIME_TIMEZONE" general timezone
fi
mkdir_and_chown "$LIBRETIME_USER" "$STORAGE_DIR" mkdir_and_chown "$LIBRETIME_USER" "$STORAGE_DIR"
set_config "$STORAGE_DIR" storage path set_config "$STORAGE_DIR" storage path
fi fi