From 3ba0ee7f8c996bd7e3ab4718a68e68516af32757 Mon Sep 17 00:00:00 2001 From: Ilya Mukhortov Date: Wed, 11 Mar 2026 16:49:57 +1000 Subject: [PATCH] pass --- install.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 install.sh diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..4c6d578 --- /dev/null +++ b/install.sh @@ -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." \ No newline at end of file