1
0
Fork 0
medicine-config/install.sh

46 lines
1.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -euo pipefail
# Проверка root/sudo
if ! command -v sudo >/dev/null 2>&1; then
echo "Ошибка: sudo не найден."
exit 1
fi
# Установка git и curl, если отсутствуют
if ! command -v git >/dev/null 2>&1 || ! command -v curl >/dev/null 2>&1; then
sudo apt update
sudo apt install -y git curl
fi
# Установка Docker, если отсутствует
if ! command -v docker >/dev/null 2>&1; then
curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
sudo sh /tmp/get-docker.sh
rm -f /tmp/get-docker.sh
fi
# Создание пользователя medicine, если его ещё нет
if ! id -u medicine >/dev/null 2>&1; then
sudo adduser --disabled-password --gecos "" medicine
fi
# Добавление пользователя medicine в группу docker
sudo usermod -aG docker medicine
# Клонирование репозитория и запуск install.sh от пользователя medicine
sudo -u medicine bash <<'EOF'
set -euo pipefail
cd ~
if [ ! -d "$HOME/medicine-config" ]; then
git clone --depth 1 --branch main https://git.med-logic.ru/medlogic/medicine-config.git
else
echo "Каталог $HOME/medicine-config уже существует, пропускаю clone."
fi
bash "$HOME/medicine-config/dashboard/install.sh"
EOF
echo "Готово."
echo "Для применения membership в группе docker может понадобиться перелогиниться пользователем medicine."