fix and update
This commit is contained in:
67
install.sh
67
install.sh
@@ -10,7 +10,7 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_VERSION="2.6.4"
|
||||
SCRIPT_VERSION="2.6.5"
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
@@ -83,6 +83,7 @@ ${BOLD}Lendry ID v${SCRIPT_VERSION}${NC} — установка и управл
|
||||
./install.sh --fix-all Комплексное исправление: 502, прокси, порты, Nginx
|
||||
./install.sh --status Статус сервисов
|
||||
./install.sh --reset-db Сброс PostgreSQL (новый пароль из .env, данные удалятся)
|
||||
./install.sh --build-apk Собрать подписанный Android APK (tauri_app → frontend/public/downloads)
|
||||
./install.sh --remove-nginx Удалить конфиги Nginx IdP
|
||||
|
||||
${BOLD}Режим локальной сети (без интернета / AD-домены .local .lpr):${NC}
|
||||
@@ -170,6 +171,8 @@ parse_args() {
|
||||
--fix-all) ACTION="fix-all"; shift ;;
|
||||
--status) ACTION="status"; shift ;;
|
||||
--reset-db) ACTION="reset-db"; shift ;;
|
||||
--build-apk) ACTION="build-apk"; shift ;;
|
||||
--remove-nginx) ACTION="remove-nginx"; shift ;;
|
||||
--local) INSTALL_LOCAL=1; shift ;;
|
||||
--intranet) INSTALL_INTRANET=1; shift ;;
|
||||
--offline) OFFLINE=1; shift ;;
|
||||
@@ -4470,6 +4473,63 @@ action_fix_all_errors() {
|
||||
show_status
|
||||
}
|
||||
|
||||
action_build_tauri_apk() {
|
||||
local image="${TAURI_APK_IMAGE:-lendry-id-tauri-apk-builder}"
|
||||
local output_dir="${ROOT_DIR}/apps/frontend/public/downloads"
|
||||
local output_apk="${output_dir}/lendry-id.apk"
|
||||
local secrets_dir="${ROOT_DIR}/tauri_app/.secrets"
|
||||
local public_api public_frontend npm_registry
|
||||
|
||||
load_env
|
||||
public_api="$(env_get PUBLIC_API_URL "http://localhost:3000")"
|
||||
public_frontend="$(env_get PUBLIC_FRONTEND_URL "http://localhost:3002")"
|
||||
npm_registry="$(env_get NPM_REGISTRY "https://registry.npmjs.org")"
|
||||
|
||||
mkdir -p "${output_dir}" "${secrets_dir}"
|
||||
chmod 700 "${secrets_dir}" 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo -e "${BOLD}Сборка подписанного Android APK (Tauri)${NC}"
|
||||
echo " API: ${public_api}"
|
||||
echo " Frontend: ${public_frontend}"
|
||||
echo " Выход: ${output_apk}"
|
||||
echo ""
|
||||
|
||||
if [[ "${OFFLINE}" -eq 1 ]]; then
|
||||
warn "OFFLINE=1: образ APK-builder должен быть уже собран локально"
|
||||
fi
|
||||
|
||||
log "Шаг 1/3: Docker-образ tauri_app (Android SDK + NDK)..."
|
||||
configure_docker_build_env
|
||||
docker_cmd build \
|
||||
-f "${ROOT_DIR}/tauri_app/Dockerfile.apk" \
|
||||
-t "${image}" \
|
||||
--build-arg "NPM_REGISTRY=${npm_registry}" \
|
||||
"${ROOT_DIR}"
|
||||
|
||||
log "Шаг 2/3: Сборка release APK с подписью..."
|
||||
docker_cmd run --rm \
|
||||
-v "${output_dir}:/out" \
|
||||
-v "${secrets_dir}:/workspace/tauri_app/.secrets" \
|
||||
-e "PUBLIC_API_URL=${public_api}" \
|
||||
-e "PUBLIC_FRONTEND_URL=${public_frontend}" \
|
||||
-e "VITE_API_URL=${public_api}" \
|
||||
-e "VITE_FRONTEND_URL=${public_frontend}" \
|
||||
"${image}"
|
||||
|
||||
log "Шаг 3/3: Проверка результата..."
|
||||
[[ -f "${output_apk}" ]] || fail "APK не найден после сборки: ${output_apk}"
|
||||
|
||||
ok "Подписанный APK готов: ${output_apk}"
|
||||
ls -lh "${output_apk}" 2>/dev/null || true
|
||||
if [[ -f "${secrets_dir}/signing-credentials.env" ]]; then
|
||||
warn "Пароли keystore: ${secrets_dir}/signing-credentials.env (не коммитьте в git)"
|
||||
fi
|
||||
echo ""
|
||||
echo " Скачивание на сайте: /download/android"
|
||||
echo " Перезапустите frontend, если контейнер уже работает: ./install.sh --restart"
|
||||
}
|
||||
|
||||
action_restart() {
|
||||
load_env
|
||||
prepare_compose_stack
|
||||
@@ -4496,6 +4556,7 @@ show_menu() {
|
||||
echo " 3) SSL-сертификаты (обновить / включить custom / Let's Encrypt)"
|
||||
echo " 4) Перезапуск / пересборка контейнеров (+ очистка Docker)"
|
||||
echo " 11) Миграция БД и пересборка (после git pull)"
|
||||
echo " 12) Собрать Android APK (Tauri, подписанный → frontend/public/downloads)"
|
||||
echo " 5) Статус сервисов"
|
||||
echo " 6) Удалить конфиги Nginx IdP"
|
||||
echo " 7) Сброс PostgreSQL (если ошибка P1000 / пароль БД)"
|
||||
@@ -4505,7 +4566,7 @@ show_menu() {
|
||||
echo ""
|
||||
|
||||
local choice
|
||||
read -r -p "Выберите пункт [0-11]: " choice
|
||||
read -r -p "Выберите пункт [0-12]: " choice
|
||||
|
||||
case "$choice" in
|
||||
1) NON_INTERACTIVE=0; action_full_install ;;
|
||||
@@ -4514,6 +4575,7 @@ show_menu() {
|
||||
3) action_renew_ssl ;;
|
||||
4) action_restart ;;
|
||||
11) action_migrate_rebuild ;;
|
||||
12) action_build_tauri_apk ;;
|
||||
5) show_status ;;
|
||||
6) remove_nginx_configs; ok "Готово" ;;
|
||||
7) action_reset_db; action_restart ;;
|
||||
@@ -4540,6 +4602,7 @@ main() {
|
||||
renew-ssl) action_renew_ssl ;;
|
||||
restart) action_restart ;;
|
||||
migrate-rebuild) action_migrate_rebuild ;;
|
||||
build-apk) action_build_tauri_apk ;;
|
||||
fix-host-nginx|fix-docker-nginx) action_fix_docker_nginx ;;
|
||||
docker-prune) action_docker_prune ;;
|
||||
fix-proxy) action_fix_host_proxy ;;
|
||||
|
||||
Reference in New Issue
Block a user