feat: optional YouTube Music source (cookies volume + wizard step)
Adds a step_youtube wizard prompt (enable + cookies host folder), the @YOUTUBE_VOLUME@ token in templates/compose/backend.yml substituted in compose_gen, a YOUTUBE_ENABLED/cookies env block, ensure_youtube_dir in lifecycle, en/ru strings, and a README step. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -39,6 +39,7 @@ CFG_ADMIN_CREATE="no"; CFG_ADMIN_USER=""; CFG_ADMIN_PASS=""
|
||||
CFG_ML_URL=""
|
||||
CFG_ACOUSTID_KEY=""
|
||||
CFG_MUSICBRAINZ_OWNER_EMAIL=""
|
||||
CFG_YOUTUBE="no"; CFG_YOUTUBE_COOKIES_HOST_PATH="./data/youtube"
|
||||
CFG_JWT_SECRET=""
|
||||
|
||||
# ==========================================================================
|
||||
@@ -195,6 +196,19 @@ step_enrichment() {
|
||||
ui_input "$(t musicbrainz_email_prompt)" "" v_email_opt; CFG_MUSICBRAINZ_OWNER_EMAIL="$UI_VALUE"
|
||||
}
|
||||
|
||||
step_youtube() {
|
||||
ui_title "$(t step_youtube)"
|
||||
ui_dim "$(t youtube_note)"
|
||||
if ui_yesno "$(t youtube_q)" "yes"; then
|
||||
CFG_YOUTUBE="yes"
|
||||
ui_dim "$(t youtube_cookies_note)"
|
||||
ui_input "$(t youtube_cookies_prompt)" "./data/youtube" v_nonempty
|
||||
CFG_YOUTUBE_COOKIES_HOST_PATH="$UI_VALUE"
|
||||
else
|
||||
CFG_YOUTUBE="no"
|
||||
fi
|
||||
}
|
||||
|
||||
access_url() {
|
||||
if [[ "$CFG_WEBUI" == "yes" ]]; then
|
||||
if [[ "$CFG_PROXY" == "yes" ]]; then
|
||||
@@ -222,6 +236,7 @@ step_summary() {
|
||||
printf ' %-12s %s\n' "$(t summary_db):" "$dbl"
|
||||
printf ' %-12s %s\n' "$(t summary_redis):" "$rdl"
|
||||
printf ' %-12s %s\n' "$(t summary_storage):" "$stl"
|
||||
printf ' %-12s %s\n' "$(t summary_youtube):" "$([[ "$CFG_YOUTUBE" == yes ]] && t enabled || t disabled)"
|
||||
printf ' %-12s %s\n' "$(t summary_access):" "$(access_url)"
|
||||
echo
|
||||
ui_yesno "$(t confirm_start)" "yes" || { ui_warn "$(t aborted)"; exit 0; }
|
||||
@@ -232,6 +247,10 @@ step_done() {
|
||||
ui_ok "$(t done_url): $(access_url)"
|
||||
ui_info "$(t done_config): ${ENV_FILE}"
|
||||
[[ "$CFG_ADMIN_CREATE" == "yes" ]] && ui_info "$(t done_admin_login): ${CFG_ADMIN_USER}"
|
||||
if [[ "$CFG_YOUTUBE" == "yes" ]]; then
|
||||
ui_info "$(t done_youtube_title)"
|
||||
ui_dim "$(t done_youtube_cookies "${CFG_YOUTUBE_COOKIES_HOST_PATH}/cookies.txt")"
|
||||
fi
|
||||
ui_dim "$(t done_commands)"
|
||||
}
|
||||
|
||||
@@ -247,6 +266,7 @@ run_wizard() {
|
||||
step_admin
|
||||
step_ml
|
||||
step_enrichment
|
||||
step_youtube
|
||||
|
||||
gen_hex 32; CFG_JWT_SECRET="$SECRET"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user