diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..918a29f --- /dev/null +++ b/README.en.md @@ -0,0 +1,121 @@ +# 🐳 Rootless Docker + Docker Compose Installer + +[![Shell](https://img.shields.io/badge/shell-bash-brightgreen)](https://www.gnu.org/software/bash/) +[![Rootless](https://img.shields.io/badge/docker-rootless-blue)](https://docs.docker.com/engine/security/rootless/) +[![License](https://img.shields.io/badge/license-Proprietary-red)](./LICENSE) +[![Version](https://img.shields.io/badge/version-1.0.0-informational)](#) + +An interactive Bash installer for quick installation of **Rootless Docker**, **Docker Compose**, and full environment cleanup. + +[🇷🇺 Читать на русском](./README.md) + +--- + +## 📁 Repository Structure + +``` +. +├── version +│ # self-update file +└── scripts/ + ├── docker-install.sh # main installer + └── docker-installer-init.sh # loader placed in /etc/profile.d +``` + +--- + +## 📦 Dependencies + +| Utility | Purpose | +|-------------|------------------------------------| +| `curl` | Downloading files over HTTP(S) | +| `bash` | Script interpreter | +| `tput` | Terminal color output | +| `whiptail` | Terminal-based dialog menus | +| `ncurses` | Cursor and color control | + +### Install dependencies: + +#### Ubuntu / Debian: + +```bash +sudo apt update +sudo apt install -y curl bash whiptail ncurses-bin +``` + +--- + +## 🚀 Installation via `curl` + +### One-time execution (current user): + +```bash +curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/docker-install.sh | bash +``` + +### Persistent installation: + +```bash +sudo curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/docker-install.sh -o ./docker-install.sh +sudo chmod +x ./docker-install.sh +``` + +Run the installer: +```bash +./docker-install.sh +``` + +After launch, a menu will appear: + + +| Menu | +|-----------------------------| +| 1. Install Docker (rootless) | +| 2. Install Docker Compose | +| 3. Install everything | +| 4. ⚠️ Remove Docker and all related data | + +Use the last option with caution! + +--- + +## 🧩 Global Installation (via `/etc/profile.d`) + +```bash +sudo curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/scripts/docker-installer-init.sh \ + -o /etc/profile.d/docker-installer-init.sh +sudo chmod +x /etc/profile.d/docker-installer-init.sh +``` + +After that, every user upon terminal login will: + +- Get a copy of the installer script in `~/scripts/docker-install.sh` +- See a welcome dialog +- Be able to run the installer + +--- + +## 🔄 Auto-update + +The script checks the remote `version` file and updates itself automatically if a newer version is available. + +--- + +## 🧨 Uninstallation + +The menu includes an option **"Remove Docker and ALL data"**, which deletes: + +- Containers +- Images +- Volumes +- Rootless Docker configs +- Docker and Compose binaries + +⚠️ Use with caution! + +--- + +## 📄 Лицензия + +Проект распространяется по лицензии [MIT License](./LICENSE). +© 2025 Степан Касаткин. Вы можете свободно использовать, изменять и распространять это программное обеспечение в соответствии с условиями лицензии. \ No newline at end of file diff --git a/README.md b/README.md index 1b4f9ee..f4b57f5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,17 @@ # 🐳 Установщик Rootless Docker + Docker Compose +[![Shell](https://img.shields.io/badge/shell-bash-brightgreen)](https://www.gnu.org/software/bash/) +[![Rootless](https://img.shields.io/badge/docker-rootless-blue)](https://docs.docker.com/engine/security/rootless/) +[![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) +[![Version](https://img.shields.io/badge/version-1.0.0-informational)](#) + Интерактивный Bash-установщик для быстрой установки **Docker в режиме Rootless**, **Docker Compose**, а также удаления всего установленного окружения. +[🇬🇧 Read in English](./README.en.md) + --- -## Структура репозитория +## 📁 Структура репозитория ``` . @@ -17,9 +24,7 @@ --- -## Зависимости - -Для работы скрипта необходимо наличие следующих пакетов: +## 📦 Зависимости | Утилита | Назначение | |-------------|--------------------------------| @@ -32,6 +37,7 @@ ### Установка зависимостей: #### Ubuntu / Debian: + ```bash sudo apt update sudo apt install -y curl bash whiptail ncurses-bin @@ -39,17 +45,18 @@ sudo apt install -y curl bash whiptail ncurses-bin --- -## Установка через `curl` +## 🚀 Установка через `curl` + +### Одноразовый запуск (текущий пользователь): -### Только запуск на текущего пользователя: ```bash curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/docker-install.sh | bash ``` -### Постоянная установка и запуск на текущего пользователя: +### Постоянная установка: + ```bash -sudo curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/docker-install.sh \ - -o ./docker-install.sh +sudo curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/docker-install.sh -o ./docker-install.sh sudo chmod +x ./docker-install.sh ``` @@ -59,45 +66,50 @@ sudo chmod +x ./docker-install.sh ``` После запуска появится меню с выбором: -- Установить Docker (rootless) -- Установить Docker Compose -- Установить всё сразу -- Удалить Docker и все связанные данные + -⚠️ Последний пункт использовать с осторожностью! +| Menu | +|-------------| +| 1. Установить Docker (rootless) | +| 2. Установить Docker Compose | +| 3. Установить всё сразу | +| 4. ⚠️ Удалить Docker и все связанные данные | + Последний пункт использовать с осторожностью! --- -### Глобальная установка (для всех пользователей через `/etc/profile.d`) +## 🧩 Глобальная установка (через `/etc/profile.d`) -1. Скачивание и размещение в `/etc/profile.d/`: ```bash sudo curl -fsSL https://gitea.wssk.ru/sk/docker-rootless-install/raw/branch/master/scripts/docker-installer-init.sh \ -o /etc/profile.d/docker-installer-init.sh sudo chmod +x /etc/profile.d/docker-installer-init.sh ``` -2. После этого, при крайнем входе в терминал каждый пользователь: - - Получит скрипт в `~/scripts/docker-install.sh` - - Увидит приветственное окно - - Сможет запустить установку +После этого каждый пользователь при входе в терминал: + +- Получит копию скрипта в `~/scripts/docker-install.sh` +- Увидит приветственное окно +- Сможет запустить установку --- -## Автообновление +## 🔄 Автообновление -Скрипт автоматически проверяет наличие новой версии (по файлу `version`) и при необходимости скачивает обновлённый `docker-install.sh` из репозитория. +Скрипт автоматически сверяет локальную и удалённую версию (`version`) и обновляет себя при необходимости. --- -## Удаление +## 🧨 Удаление -Меню скрипта содержит опцию **"Удалить Docker и ВСЕ данные"**, которая удаляет: +В меню скрипта есть опция **"Удалить Docker и ВСЕ данные"**, которая удаляет: - Контейнеры - Образы - Тома - Конфиги Docker Rootless -- Бинарники Docker и Docker Compose +- Бинарники Docker и Compose -⚠️ Использовать с осторожностью! \ No newline at end of file +⚠️ Используйте с осторожностью! + +---