# 🐧 Настройка Debian

> Этот гайд описывает установку и настройку Debian для запуска сервисов в контейнерах.

---

## 1️⃣ Установка Debian

Стандартная установка Debian Minimal. Занимаем весь виртуальный диск. При установке отключаем графический интерфейс и ставим SSH сервер.

После установки заходим под `root` и устанавливаем `sudo`:

```bash
apt install sudo
usermod -aG sudo имя_пользователя
```

Перезаходим и дальше работаем под обычным пользователем.

---

## 2️⃣ Настройка статического IP

Смотрим название сетевого интерфейса и устанавливаем `resolvconf` (для поддержки `dns-nameservers`):

```bash
ip addr
sudo apt install resolvconf
```

Редактируем настройки:

```bash
sudo nano /etc/network/interfaces
```

Добавляем настройки:

```ini
auto enp0s3
iface enp0s3 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 77.88.8.8 8.8.8.8
```

> ⚠️Замените `enp0s3` на название вашего сетевого интерфейса и настройте IP адрес в соответствии с вашей сетевой конфигурацией.

Перезагружаемся:

```bash
sudo reboot
```

---

## 3️⃣ Установка Podman

> Мы будем использовать Podman вместо Docker в целях безопасности. Podman не требует запущенного демона для работы и по умолчанию нацелен на работу в rootless режиме, что нам очень интересно.

Устанавливаем Podman и podman-compose:

```bash
sudo apt install podman podman-compose
```

Добавляем загрузку контейнеров с параметром `restart: always` при загрузке системы:

```bash
systemctl --user enable podman-restart.service
sudo loginctl enable-linger USER
```

> ⚠️ Замените `USER` на имя вашего пользователя.

---

## 4️⃣ Клонирование репозитория

Клонируем этот репозиторий для запуска сервисов:

```bash
sudo apt install git
mkdir ~/services
cd ~/services
git clone https://github.com/StepanovPlaton/HomeServerServices .
```

---

## 5️⃣ Монтирование дисков

Смотрим список разделов с их UUID:

```bash
sudo blkid
```

Создаём точку монтирования:

```bash
mkdir ~/diskN
```

Добавляем запись в `fstab`:

```bash
sudo nano /etc/fstab
```

В конец добавляем:

```ini
UUID=***-***-***-***-***  /home/USER/diskN  ext4  defaults,nofail  0  2
```

> ⚠️ Замените `UUID=***-***-***-***-***` на UUID вашего диска и `USER` на имя вашего пользователя.

Монтируем диск:

```bash
sudo systemctl daemon-reload
sudo mount -a
```

Для корректной работы с диском может потребоваться изменить права доступа:

```bash
sudo chown -R 1000:1000 path/to/disk
podman unshare chown -R 1000:1000 path/to/disk
```

> ⚠️ Замените `path/to/disk` на путь к вашему диску.

---

## 📚 Следующие шаги

**Настройка сервисов описана в файле [Services.md](./Services.md)**
