Моя домашняя лаборатория. Проект для себя, где настроены скачивание, VPN, сетевое хранилище, DNS и полноценный мониторинг.
| Сервис | Назначение | Доступ / Ссылка | Конфиги / Заметки |
|---|---|---|---|
| qBitTorrent | Скачивание торрентов | http://<IP_СЕРВЕРА>:8080 |
Проверить дефолтный пароль при первом запуске |
| AmneziaWG Easy | Личный VPN (WireGuard) | http://<IP_СЕРВЕРА>:51821 |
Конфиги клиентов генерируются в админке |
| Samba (SMB) | Сетевые папки для ПК/ТВ | smb://<IP_СЕРВЕРА> |
Шары для локальной сети |
| DuckDNS | Динамический DNS | Работает в фоне | Обновляет домен для внешнего доступа (нужен если у вас динамический IP адрес) |
| Сервис | Назначение | Доступ / Ссылка |
|---|---|---|
| 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, поскольку это самый простой вариант сейчас в РФ:
- Скачать приложение Ntfy на телефон и создать подписку
- Открываем настройки (нажать на иконку в правом верхнем углу)
- Заходим в блок "Уведомления" и там уже создаем тип Nfty
- Имя по кайфу
- Тема не принципиально
- В url сервера пишем название нашей подписки: https://ntfy.sh/<тема подписки> И проверяешь кнопкой Test, на телефон должно прийти тестовое сообщение
Чтобы отслеживать нужные сервисы просто на главной нажимаем новый монитор (New monitor)
Например для Grafana:
- Тип монитора: https
- Имя: Grafana (или как удобно)
- URL-ссылка: http://<IP адрес сервера:3000>
Или для Samba:
- Тип монитор: TCP Port (потому что у самбы нет веб интрефейса)
- Имя: Samba
- Имя хоста: IP адрес вашего сервера
- Порт: 445
Все остальное индивидуально.
- Клонировать репозиторий:
git clone https://github.com/Leschock-Syu/homelab-docker cd homelab-docker - Настроить секреты:
cp .env.example .env nano .env
- Запустить всё:
sudo -E docker compose up -d cd monitoring && docker compose up -d && cd ..