mirror of
https://github.com/StepanovPlaton/HomeServerServices.git
synced 2026-04-03 12:20:43 +04:00
141 lines
3.7 KiB
Markdown
141 lines
3.7 KiB
Markdown
# 🐧 Настройка 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)**
|