Настройка первого сервера для homelab: Пошаговое руководство для начинающих
Полное руководство по настройке первого сервера для вашего homelab от выбора оборудования до развертывания первых сервисов. Идеально подходит для новичков в мире self-hosting.
Выбор оборудования
Выберите подходящее оборудование для вашего homelab сервера в зависимости от ваших целей и бюджета.
Установка операционной системы
Выберите и установите подходящую операционную систему для вашего сервера (Proxmox VE, Ubuntu Server и т.д.)
Базовая настройка системы
Выполните базовую настройку системы после установки: обновите систему, настройте SSH, создайте пользователя и установите временную зону.
apt update && apt dist-upgrade -yНастройка сети
Настройте статический IP-адрес и DNS для стабильной работы вашего сервера в сети.
nano /etc/network/interfaces
auto enp3s0
iface enp3s0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1Установка Docker
Установите Docker для возможности запуска контейнеров на вашем сервере.
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
usermod -aG docker usernameУстановка Docker Compose
Установите Docker Compose для управления многоконтейнерными приложениями.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeУстановка Portainer
Установите Portainer для удобного управления Docker контейнерами через веб-интерфейс.
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latestНастройка безопасности
Настройте брандмауэр, отключите неиспользуемые сервисы и настройте резервное копирование для обеспечения безопасности ваших данных.
ufw enable
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw allow 6443/tcp # Kubernetes API
ufw deny 8080/tcp # Пример блокировки порта