Skip to content

About

Просто проект для моей домашней лабы, ничего серьезного. Я пока учусь и по ходу дела буду улучшать свой проект и его безопасность. Практическая работа, если угодно

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

🏠 My Homelab Docker Setup

Моя домашняя лаборатория. Проект для себя, где настроены скачивание, VPN, сетевое хранилище, DNS и полноценный мониторинг.


🗺 Карта сервисов и портов

Сервис Назначение Доступ / Ссылка Конфиги / Заметки
qBitTorrent Скачивание торрентов http://<IP_СЕРВЕРА>:8080 Проверить дефолтный пароль при первом запуске
AmneziaWG Easy Личный VPN (WireGuard) http://<IP_СЕРВЕРА>:51821 Конфиги клиентов генерируются в админке
Samba (SMB) Сетевые папки для ПК/ТВ smb://<IP_СЕРВЕРА> Шары для локальной сети
DuckDNS Динамический DNS Работает в фоне Обновляет домен для внешнего доступа (нужен если у вас динамический IP адрес)

📊 Стек Мониторинга (папка /monitoring)

Сервис Назначение Доступ / Ссылка
Grafana Красивые дашборды и графики http://<IP_СЕРВЕРА>:3000
Prometheus Сборщик метрик и бд http://<IP_СЕРВЕРА>:9090
cAdvisor Аналитика по Docker-контейнерам http://<IP_СЕРВЕРА>:8081 (или внутренний)
Node Exporter Метрики железа сервера (CPU, RAM, HDD) Внутренний порт 9100
Uptime Kuma Отправка уведомлений об инцидентах на Email, SMS, Telegram Bot, Ntfy и т.п http://<IP_СЕРВЕРА>:3001

🚀 Быстрая шпаргалка по командам

Управление основным стеком:

# Запустить (qBitTorrent, VPN, Samba, DuckDNS)
sudo -E docker compose up -d 

# Остановить весь стек
sudo docker compose down

# Перезапустить один контейнер, например qBitTorrent (например, если завис)
sudo docker compose restart qbittorrent

Лучше пользователя в группу docker добавить, чтобы не писать sudo лишний раз. Флаг -E при запуске compose up обязательный, потому что иначе шара создастся по пути /root/torrents, нам такого не нужно

sudo usermod -aG docker $USER

Управление мониторингом:

# Запустить стек мониторинга
cd monitoring && docker compose up -d && cd ..

# Остановить мониторинг
cd monitoring && docker compose down && cd ..

Полезные команды для отладки:

# Посмотреть логи контейнера, например AmneziaWG Easy
sudo docker compose logs -f amneziawg-easy

# Проверить потребление ресурсов контейнерами
sudo docker stats

Для Uptime Kuma лучше использовать Ntfy, поскольку это самый простой вариант сейчас в РФ:

  1. Скачать приложение Ntfy на телефон и создать подписку
  2. Открываем настройки (нажать на иконку в правом верхнем углу)
  3. Заходим в блок "Уведомления" и там уже создаем тип Nfty
  4. Имя по кайфу
  5. Тема не принципиально
  6. В url сервера пишем название нашей подписки: https://ntfy.sh/<тема подписки> И проверяешь кнопкой Test, на телефон должно прийти тестовое сообщение

Чтобы отслеживать нужные сервисы просто на главной нажимаем новый монитор (New monitor)

Например для Grafana:

  1. Тип монитора: https
  2. Имя: Grafana (или как удобно)
  3. URL-ссылка: http://<IP адрес сервера:3000>

Или для Samba:

  1. Тип монитор: TCP Port (потому что у самбы нет веб интрефейса)
  2. Имя: Samba
  3. Имя хоста: IP адрес вашего сервера
  4. Порт: 445

Все остальное индивидуально.


🛠 Порядок развертывания с нуля

  1. Клонировать репозиторий:
    git clone https://github.com/Leschock-Syu/homelab-docker
    cd homelab-docker
  2. Настроить секреты:
    cp .env.example .env
    nano .env
  3. Запустить всё:
    sudo -E  docker compose up -d
    cd monitoring && docker compose up -d && cd ..

About

Просто проект для моей домашней лабы, ничего серьезного. Я пока учусь и по ходу дела буду улучшать свой проект и его безопасность. Практическая работа, если угодно

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors