mirror of
https://github.com/andrey271192/amnezia_web-PRO.git
synced 2026-09-20 14:42:00 +00:00
feat: nginx landing on :80 with Kaskad support footer; sync admin footer text
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -8,6 +8,9 @@ INSTALL_DIR="${INSTALL_DIR:-/opt/amnezia-admin}"
|
||||
DATA_DIR="${DATA_DIR:-/opt/amnezia-admin-data}"
|
||||
CONTAINER_NAME="${CONTAINER_NAME:-amnezia-admin}"
|
||||
HOST_PORT="${HOST_PORT:-8080}"
|
||||
LANDING_CONTAINER="${LANDING_CONTAINER:-amnezia-web-landing}"
|
||||
LANDING_IMAGE="${LANDING_IMAGE:-amnezia-web-landing:latest}"
|
||||
LANDING_PORT="${LANDING_PORT:-80}"
|
||||
|
||||
need_root() {
|
||||
if [[ "${EUID:-$(id -u)}" -ne 0 ]]; then
|
||||
@@ -81,6 +84,8 @@ elif [[ "${ALLOW_DEFAULT_PASSWORD:-}" == "1" ]] || [[ "${ALLOW_DEFAULT_PASSWORD:
|
||||
RUN_ENV+=( -e "ALLOW_DEFAULT_PASSWORD=1" )
|
||||
fi
|
||||
|
||||
IP="$(hostname -I 2>/dev/null | awk '{print $1}' || true)"
|
||||
|
||||
docker run -d --name "${CONTAINER_NAME}" --restart unless-stopped \
|
||||
-p "${HOST_PORT}:3980" \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
@@ -88,10 +93,28 @@ docker run -d --name "${CONTAINER_NAME}" --restart unless-stopped \
|
||||
"${RUN_ENV[@]}" \
|
||||
amnezia-admin:latest
|
||||
|
||||
IP="$(hostname -I 2>/dev/null | awk '{print $1}' || true)"
|
||||
if [[ "${SKIP_LANDING:-}" != "1" ]] && [[ -d "${INSTALL_DIR}/landing" ]]; then
|
||||
printf "window.__AMNEZIA_ADMIN_PORT__='%s';\n" "${HOST_PORT}" >"${INSTALL_DIR}/landing/admin-port.js"
|
||||
echo "→ Сборка образа ${LANDING_IMAGE} (страница на порту ${LANDING_PORT})..."
|
||||
docker build -t "${LANDING_IMAGE}" "${INSTALL_DIR}/landing"
|
||||
docker rm -f "${LANDING_CONTAINER}" 2>/dev/null || true
|
||||
if docker run -d --name "${LANDING_CONTAINER}" --restart unless-stopped \
|
||||
-p "${LANDING_PORT}:80" \
|
||||
"${LANDING_IMAGE}"; then
|
||||
echo "→ Лендинг с блоком поддержки: http://${IP:-SERVER_IP}:${LANDING_PORT}/"
|
||||
else
|
||||
echo "⚠ Не удалось запустить лендинг (часто порт ${LANDING_PORT} занят). Поставьте LANDING_PORT=8081 или SKIP_LANDING=1."
|
||||
fi
|
||||
else
|
||||
echo "→ Лендинг пропущен (SKIP_LANDING=1 или нет каталога landing)."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Готово ==="
|
||||
echo "Откройте в браузере: http://${IP:-SERVER_IP}:${HOST_PORT}"
|
||||
echo "Админ-панель: http://${IP:-SERVER_IP}:${HOST_PORT}"
|
||||
if [[ "${SKIP_LANDING:-}" != "1" ]]; then
|
||||
echo "Страница с поддержкой проекта: http://${IP:-SERVER_IP}:${LANDING_PORT}/"
|
||||
fi
|
||||
if [[ -f "${PASS_FILE}" ]]; then
|
||||
echo "Первый пароль: $(cat "${PASS_FILE}")"
|
||||
fi
|
||||
|
||||
@@ -16,9 +16,17 @@ need_root() {
|
||||
|
||||
need_root
|
||||
|
||||
echo "→ Останавливаю лендинг ${LANDING_CONTAINER:-amnezia-web-landing}..."
|
||||
docker rm -f "${LANDING_CONTAINER:-amnezia-web-landing}" 2>/dev/null || echo "(лендинг уже отсутствует)"
|
||||
|
||||
echo "→ Останавливаю контейнер ${CONTAINER_NAME}..."
|
||||
docker rm -f "${CONTAINER_NAME}" 2>/dev/null || echo "(контейнер уже отсутствует)"
|
||||
|
||||
if [[ "${REMOVE_LANDING_IMAGE:-}" == "1" ]]; then
|
||||
echo "→ Удаляю образ ${LANDING_IMAGE:-amnezia-web-landing:latest}..."
|
||||
docker rmi "${LANDING_IMAGE:-amnezia-web-landing:latest}" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if [[ "${REMOVE_IMAGE:-}" == "1" ]]; then
|
||||
echo "→ Удаляю образ ${IMAGE_NAME}..."
|
||||
docker rmi "${IMAGE_NAME}" 2>/dev/null || true
|
||||
@@ -35,4 +43,4 @@ if [[ "${REMOVE_SRC:-}" == "1" ]]; then
|
||||
fi
|
||||
|
||||
echo "Готово."
|
||||
echo "Подсказка: REMOVE_DATA=1 REMOVE_SRC=1 REMOVE_IMAGE=1 curl ... | sudo bash — полная очистка."
|
||||
echo "Подсказка: REMOVE_LANDING_IMAGE=1 — удалить образ лендинга; REMOVE_DATA=1 REMOVE_SRC=1 REMOVE_IMAGE=1 curl ... | sudo bash — полная очистка."
|
||||
|
||||
Reference in New Issue
Block a user