#!/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."