114 lines
2.9 KiB
Markdown
114 lines
2.9 KiB
Markdown
# 🐳 Rootless Docker + Docker Compose Installer
|
|
|
|
[](https://www.gnu.org/software/bash/)
|
|
[](https://docs.docker.com/engine/security/rootless/)
|
|
[](./LICENSE)
|
|
[](#)
|
|
|
|
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:
|
|
<!-- table -->
|
|
|
|
| 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! |