Найти в Дзене
Сказки цифрового LESa

Настраиваем Ubuntu Server: Docker, Nextcloud и Pi-hole

В этой статье я расскажу, как развернуть Ubuntu Server с тремя полезными сервисами: Этот гайд подойдёт для домашнего сервера или виртуальной машины в Proxmox/ESXi. 1. Установка Ubuntu Server 1.1. Подготовка образа 1.2. Установка системы 1.3. Первичная настройка sudo apt update && sudo apt upgrade -y # Обновление системы sudo apt install -y curl wget git # Утилиты для работы 2. Установка Docker и Docker Compose Docker позволит легко развернуть Nextcloud и Pi-hole. 2.1. Установка Docker curl -fsSL https://get.docker.com | sh # Официальный скрипт установки sudo usermod -aG docker $USER # Добавление пользователя в группу docker newgrp docker # Применение изменений (или перелогиньтесь) 2.2. Установка Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose Проверяем: docker --version && docker-compose --version 3. Развёртывание Nextcloud Nextcl

В этой статье я расскажу, как развернуть Ubuntu Server с тремя полезными сервисами:

  • Docker — для удобного управления контейнерами
  • Nextcloud — персональное облако для файлов и синхронизации
  • Pi-hole — сетевой блокировщик рекламы

Этот гайд подойдёт для домашнего сервера или виртуальной машины в Proxmox/ESXi.

1. Установка Ubuntu Server

1.1. Подготовка образа

  1. Скачайте Ubuntu Server LTS с официального сайта.
  2. Запишите образ на флешку через Rufus (Windows) или BalenaEtcher (Linux/macOS).

1.2. Установка системы

  1. Загрузитесь с флешки.
  2. Выберите язык, настройки сети (желательно статический IP).
  3. В разделе Software Selection отметьте OpenSSH Server (для удалённого доступа).
  4. Завершите установку и перезагрузитесь.

1.3. Первичная настройка

sudo apt update && sudo apt upgrade -y # Обновление системы

sudo apt install -y curl wget git # Утилиты для работы

2. Установка Docker и Docker Compose

Docker позволит легко развернуть Nextcloud и Pi-hole.

2.1. Установка Docker

curl -fsSL https://get.docker.com | sh # Официальный скрипт установки

sudo usermod -aG docker $USER # Добавление пользователя в группу docker

newgrp docker # Применение изменений (или перелогиньтесь)

2.2. Установка Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Проверяем:

docker --version && docker-compose --version

3. Развёртывание Nextcloud

Nextcloud — аналог Google Drive, но под вашим контролем.

3.1. Создаём docker-compose.yml

mkdir ~/nextcloud && cd ~/nextcloud

nano docker-compose.yml

Вставляем конфиг:

version: '3'

services:

nextcloud:

image: nextcloud:latest

container_name: nextcloud

restart: unless-stopped

ports:

- "8080:80" # Внешний порт:внутренний

volumes:

- ./nextcloud_data:/var/www/html

environment:

- MYSQL_HOST=db

- MYSQL_DATABASE=nextcloud

- MYSQL_USER=nextcloud

- MYSQL_PASSWORD=your_strong_password

depends_on:

- db

db:

image: mariadb:latest

container_name: nextcloud_db

restart: unless-stopped

volumes:

- ./nextcloud_db:/var/lib/mysql

environment:

- MYSQL_ROOT_PASSWORD=your_root_password

- MYSQL_DATABASE=nextcloud

- MYSQL_USER=nextcloud

- MYSQL_PASSWORD=your_strong_password

Запускаем:

docker-compose up -d

3.2. Настройка Nextcloud

  1. Откройте в браузере: http://ваш-сервер:8080.
  2. Создайте админ-аккаунт.
  3. В настройках БД укажите:
  • Имя пользователя: nextcloud
  • Пароль: your_strong_password
  • База данных: nextcloud
  • Хост БД: db

Готово! Теперь у вас личное облако.

4. Установка Pi-hole (блокировка рекламы)

Pi-hole работает как DNS-фильтр, убирая рекламу на всех устройствах в сети.

4.1. Запуск Pi-hole в Docker

mkdir ~/pihole && cd ~/pihole

nano docker-compose.yml

Вставляем конфиг:

version: '3'

services:

pihole:

image: pihole/pihole:latest

container_name: pihole

restart: unless-stopped

ports:

- "53:53/tcp" # DNS

- "53:53/udp" # DNS

- "80:80" # Веб-интерфейс

environment:

- TZ=Europe/Moscow

- WEBPASSWORD=your_admin_password

volumes:

- './pihole_data:/etc/pihole'

- './pihole_dnsmasq:/etc/dnsmasq.d'

Запускаем:

docker-compose up -d

4.2. Настройка Pi-hole

  1. Откройте веб-интерфейс: http://ваш-сервер/admin.
  2. Введите пароль (WEBPASSWORD из docker-compose.yml).
  3. В настройках роутера укажите DNS-сервер → IP вашего сервера.

Теперь вся реклама в сети блокируется!

5. Дополнительные настройки

5.1. Резервное копирование

# Архивируем данные Nextcloud и Pi-hole

tar -czvf backup_nextcloud.tar.gz ~/nextcloud/nextcloud_data

tar -czvf backup_pihole.tar.gz ~/pihole/pihole_data

5.2. Автозапуск контейнеров при перезагрузке

Docker Compose и так использует restart: unless-stopped, но можно добавить в crontab:

crontab -e

Добавляем строку:

@reboot cd /home/user/nextcloud && docker-compose up -d

@reboot cd /home/user/pihole && docker-compose up -d

6. Итог

Ubuntu Server — стабильная ОС для сервера.
Docker — удобное управление контейнерами.
Nextcloud — личное облако вместо Google Drive.
Pi-hole — блокировка рекламы на всех устройствах.

Теперь у вас полноценный домашний сервер! 🚀

Что дальше?

  • Настроить обратный прокси (Nginx) для доступа по домену.
  • Добавить VPN (WireGuard) для безопасного доступа извне.
  • Развернуть Grafana для мониторинга.

А вы используете домашний сервер? Делитесь в комментариях!