Глава 1.2: Подготовка сервера и окружения.
Прежде чем ставить сам Docker, нужно подготовить для него надежный фундамент. Docker неприхотлив к ресурсам, но операционная система сервера должна быть настроена правильно, чисто и безопасно, чтобы в будущем не спотыкаться об ошибки прав доступа.
1. Требования к «железу» и выбор ОС
Для комфортной работы домашней ИТ-лаборатории на Docker (где будут крутиться Wiki, прокси-сервер, простенький мониторинг и пара баз данных) вам хватит минимальных ресурсов:
- Процессор (CPU): Любой 2-ядерный процессор (даже старые Intel Core 2 Duo, Celeron или процессоры от старых ноутбуков отлично справятся).
- Оперативная память (RAM): Минимум 2 ГБ. Этого хватит на 10–15 легких контейнеров. Если планируете тяжелые вещи вроде Nextcloud, GitLab или медиасервера Plex — лучше ориентироваться на 4–8 ГБ.
- Диск (Storage): Настоятельно рекомендуется SSD. Docker активно работает с мелкими файлами и базами данных; на обычном старом HDD контейнеры будут запускаться и работать ощутимо медленнее.
Выбор ОС: Идеальный и общепризнанный стандарт для селф-хостинга — это Debian или Ubuntu Server (LTS-версии). В данном руководстве мы опираемся на чистый Debian, установленный без графической оболочки (только консоль).
2. Пподключение по SSH
Управлять сервером мы будем удаленно со своего основного компьютера через терминал. Для этого используется протокол SSH.
Чтобы подключиться к серверу, откройте терминал на своем рабочем ПК (в Windows это Терминал или PowerShell, в macOS/Linux — обычный Терминал) и введите команду:
ssh username@ip_адрес_сервера
Вместо username укажите имя пользователя, которого вы создали при установке Debian, а вместо ip_адрес_сервера — локальный IP вашего сервера (например, 192.168.1.50).
💡 Лайфхак для сисадмина: Судо без пароля (опционально)
Чтобы каждый раз при вводе команд администрирования не вводить длинный пароль, можно разрешить вашему пользователю выполнять sudo без него. Для этого переключитесь на root-пользователя (команда su -), введите пароль root, установите утилиту sudo, если её нет (apt update && apt install sudo), и выполните команду:EDITOR=nano visudo
Найдите в самом низу строку вашего пользователя или добавьте её по аналогии: username ALL=(ALL:ALL) NOPASSWD: ALL
Нажмите Ctrl+O, Enter для сохранения и Ctrl+X для выхода. Теперь администрировать станет в разы приятнее.
💡 Примечание: также, существует множество разнообразного софта для подключения через SSH, например, для Windows, это PuTTY, а для android - весьма популярен Termius.
3. Обновление системы и установка базовых утилит
Первым делом после подключения обновим индекс пакетов и сами системные компоненты до актуального состояния, чтобы избежать конфликтов оборудования:
sudo apt update && sudo apt upgrade -y
Теперь установим минимальный набор утилит, которые понадобятся нам для скачивания ключей, работы с сетями и редактирования текстовых файлов конфигураций:
sudo apt install -y curl wget git head htop net-tools tmux
4. Архитектура папок (Гигиена селф-хостинга)
Главная ошибка новичков — раскидывать файлы Docker-контейнеров по всему серверу: что-то лежит в домашней папке, что-то в /var/www, что-то в /opt. Через месяц в такой системе невозможно разобраться, а сделать бэкап становится непосильной задачей.
Мы сразу внедрим правильный стандарт. Все наши проекты, конфигурации и данные контейнеров будут храниться в одной корневой директории /stacks (или /docker, как вам больше нравится). Внутри нее для каждого отдельного сервиса будет создаваться своя подпапка.
Создадим эту папку и передадим права на неё нашему обычному пользователю (замените username на ваше имя пользователя в системе):
sudo mkdir /stacks
sudo chown -R username:username /stacks
cd /stacks
Теперь структура нашей будущей лаборатории будет выглядеть красиво и прозрачно:
/stacks/
├── bookstack/ # Файлы нашей базы знаний
├── nextcloud/ # Файлы нашего личного облака
├── portainer/ # Файлы панели управления
└── nginx-proxy/ # Файлы прокси-сервера
📌 Почему это важно: При такой организации сервера вся ваша ИТ-инфраструктура упакована в одну папку /stacks. Если вы захотите переехать на другой компьютер, сделать бэкап или сменить SSD, вам достаточно будет скопировать всего одну эту директорию. И всё запустится на новом месте в первозданном виде!
Сервер полностью готов, структура папок создана. В следующей главе мы накатим сам Docker движок самым чистым и официальным способом.