1
0
Fork 0
This commit is contained in:
Ilya Mukhortov 2026-03-11 16:49:57 +10:00
parent 0cf2ba6a9d
commit 3ba0ee7f8c
1 changed files with 46 additions and 0 deletions

46
install.sh Normal file
View File

@ -0,0 +1,46 @@
#!/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."