Проект на выходные: Nginx Proxy Manager. Управляем реверс-прокси и SSL через GUI
Редактировать конфиги Nginx вручную для каждого нового сервиса — рутина, в которой легко ошибиться. Если вы поднимаете много веб-приложений (особенно в своей Home Lab), вам нужен инструмент, который делает это красиво.
Nginx Proxy Manager — это готовое решение в Docker-контейнере, которое даёт вам удобный веб-интерфейс для управления всеми вашими сайтами и реверс-прокси.
Ключевые фичи:
Графический интерфейс: Забудьте про правку конфигов. Добавляйте хосты, настраивайте редиректы и защиту парой кликов.
Бесплатные SSL-сертификаты: Встроенная интеграция с Let's Encrypt. Он сам получит и будет автоматически продлевать сертификаты для ваших доменов.
Списки доступа (Access Lists): Ограничивайте доступ к сервисам по IP или через логин/пароль.
Простая установка: Запускается одной docker-compose командой.
Готовый docker-compose.yml для старта:
YAML
Запустите docker-compose up -d, откройте http://<ваш_ip>:81 и начните настраивать.
Взгляд архитектора:
Этот инструмент не просто экономит время. Он стандартизирует и защищает ваши точки входа. Best practice (как, например, SSL для всего) становятся настройкой по умолчанию, а не чем-то, что можно забыть. Это идеальный способ навести порядок в зоопарке ваших веб-сервисов.
#linux #docker #nginx #selfhosted #гайд #weekendproject
Редактировать конфиги Nginx вручную для каждого нового сервиса — рутина, в которой легко ошибиться. Если вы поднимаете много веб-приложений (особенно в своей Home Lab), вам нужен инструмент, который делает это красиво.
Nginx Proxy Manager — это готовое решение в Docker-контейнере, которое даёт вам удобный веб-интерфейс для управления всеми вашими сайтами и реверс-прокси.
Ключевые фичи:
Графический интерфейс: Забудьте про правку конфигов. Добавляйте хосты, настраивайте редиректы и защиту парой кликов.
Бесплатные SSL-сертификаты: Встроенная интеграция с Let's Encrypt. Он сам получит и будет автоматически продлевать сертификаты для ваших доменов.
Списки доступа (Access Lists): Ограничивайте доступ к сервисам по IP или через логин/пароль.
Простая установка: Запускается одной docker-compose командой.
Готовый docker-compose.yml для старта:
YAML
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# Public HTTP Port:
- '80:80'
# Public HTTPS Port:
- '443:443'
# Admin Port:
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Запустите docker-compose up -d, откройте http://<ваш_ip>:81 и начните настраивать.
Взгляд архитектора:
Этот инструмент не просто экономит время. Он стандартизирует и защищает ваши точки входа. Best practice (как, например, SSL для всего) становятся настройкой по умолчанию, а не чем-то, что можно забыть. Это идеальный способ навести порядок в зоопарке ваших веб-сервисов.
#linux #docker #nginx #selfhosted #гайд #weekendproject
👍2
Проект на выходные: Ваш личный Status Page с Uptime Kuma
Вы управляете десятком сервисов в Home Lab или на работе. Как быстро понять, что всё работает, не проверяя каждый сайт вручную? Ответ: создать свой собственный status.your-company.com.
Uptime Kuma — это красивый, бесплатный и open-source инструмент для мониторинга, который превращает эту задачу в удовольствие.
Ключевые фичи:
Визуальный дашборд: Наглядно показывает аптайм всех ваших сервисов.
Гибкие проверки: Мониторит не только HTTP(s), но и TCP-порты, DNS-записи, пинг и даже ключевые слова на странице.
Мгновенные уведомления: Интегрируется с Telegram, Slack, Discord и еще 70+ сервисами. Вы узнаете о проблеме первым.
Простая установка: Запускается одной docker-compose командой.
Готовый docker-compose.yml для старта:
YAML
Взгляд архитектора: Это не просто "красивый дашборд". Это первый шаг к построению системы Observability (наблюдаемости). Наличие публичного или внутреннего Status Page — признак зрелой IT-культуры. Вы переходите от реактивного решения проблем ("пользователи жалуются") к проактивному мониторингу и прозрачности.
#linux #docker #selfhosted #monitoring #sre #гайд #weekendproject
Вы управляете десятком сервисов в Home Lab или на работе. Как быстро понять, что всё работает, не проверяя каждый сайт вручную? Ответ: создать свой собственный status.your-company.com.
Uptime Kuma — это красивый, бесплатный и open-source инструмент для мониторинга, который превращает эту задачу в удовольствие.
Ключевые фичи:
Визуальный дашборд: Наглядно показывает аптайм всех ваших сервисов.
Гибкие проверки: Мониторит не только HTTP(s), но и TCP-порты, DNS-записи, пинг и даже ключевые слова на странице.
Мгновенные уведомления: Интегрируется с Telegram, Slack, Discord и еще 70+ сервисами. Вы узнаете о проблеме первым.
Простая установка: Запускается одной docker-compose командой.
Готовый docker-compose.yml для старта:
YAML
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- ./uptime-kuma-data:/app/data
ports:
# Откройте веб-интерфейс на http://<ваш_ip>:3001
- "3001:3001"
restart: always
Взгляд архитектора: Это не просто "красивый дашборд". Это первый шаг к построению системы Observability (наблюдаемости). Наличие публичного или внутреннего Status Page — признак зрелой IT-культуры. Вы переходите от реактивного решения проблем ("пользователи жалуются") к проактивному мониторингу и прозрачности.
#linux #docker #selfhosted #monitoring #sre #гайд #weekendproject
👍2
Проект на выходные: Запускаем свой GitHub! Ставим Gitea в Docker
Хватит хранить скрипты и Ansible-плейбуки в папке C:\Scripts_Final_v2. Путь архитектора начинается с контроля версий.
Gitea — это сверхлегкий, быстрый и простой self-hosted Git-сервер. Он написан на Go, потребляет минимум ресурсов и запускается за 30 секунд. Идеально для Home Lab или небольшой команды.
Зачем он вам?
* IaC: Хранить код Terraform, Ansible, PowerShell DSC.
* Документация: Вести свою Wiki по инфраструктуре в Markdown.
* Скрипты: Создать центральный репозиторий для всех ваших PowerShell/Bash скриптов.
Готовый docker-compose.yml для старта:
YAML
1. Сохраните как docker-compose.yml.
2. Запустите docker-compose up -d.
3. Откройте http://<ваш_ip>:3000 и пройдите простую веб-установку (можно использовать SQLite, чтобы не поднимать отдельную БД).
4. Важно: В настройках укажите, что SSH-сервер работает на порту 2222.
Взгляд архитектора: Это не просто "удобно". Это фундамент для GitOps и CI/CD. Когда ваш код инфраструктуры лежит в Git, вы можете автоматизировать его тестирование и развертывание. Вы получаете историю изменений, ревью кода и возможность отката.
#linux #docker #selfhosted #git #devops #weekendproject #гайд
Хватит хранить скрипты и Ansible-плейбуки в папке C:\Scripts_Final_v2. Путь архитектора начинается с контроля версий.
Gitea — это сверхлегкий, быстрый и простой self-hosted Git-сервер. Он написан на Go, потребляет минимум ресурсов и запускается за 30 секунд. Идеально для Home Lab или небольшой команды.
Зачем он вам?
* IaC: Хранить код Terraform, Ansible, PowerShell DSC.
* Документация: Вести свою Wiki по инфраструктуре в Markdown.
* Скрипты: Создать центральный репозиторий для всех ваших PowerShell/Bash скриптов.
Готовый docker-compose.yml для старта:
YAML
version: '3.8'
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: unless-stopped
volumes:
- ./gitea-data:/data
ports:
# Веб-интерфейс (HTTP)
- "3000:3000"
# SSH для Git
- "2222:22"
environment:
- USER_UID=1000
- USER_GID=1000
1. Сохраните как docker-compose.yml.
2. Запустите docker-compose up -d.
3. Откройте http://<ваш_ip>:3000 и пройдите простую веб-установку (можно использовать SQLite, чтобы не поднимать отдельную БД).
4. Важно: В настройках укажите, что SSH-сервер работает на порту 2222.
Взгляд архитектора: Это не просто "удобно". Это фундамент для GitOps и CI/CD. Когда ваш код инфраструктуры лежит в Git, вы можете автоматизировать его тестирование и развертывание. Вы получаете историю изменений, ревью кода и возможность отката.
#linux #docker #selfhosted #git #devops #weekendproject #гайд
Проект на выходные: Homer — ваш идеальный Dashboard для Home Lab
У вас 10+ self-hosted сервисов: Proxmox, Gitea, Uptime Kuma, Nginx Proxy Manager... И вы держите все их IP и порты в голове или в закладках браузера. Это хаос.
Homer — это ваш единый, красивый "пульт управления" для всех ваших сервисов. Это просто статический HTML/YAML сайт.
Почему Homer, а не другие:
* Конфигурация как Код (IaC): Вы не "кликаете" в GUI. Вы описываете свой дашборд в одном config.yml файле.
* Легковесность: Это просто статика. Не нужна БД. Потребляет 0% CPU.
* Интеграции: Показывает "статус" (зеленый/красный) для ваших сервисов.
* Идеально для GitOps: Храните ваш config.yml в Git (на Gitea, который мы ставили!), и ваш дашборд будет версионируемым.
Как запустить (в Docker за 30 сек):
Bash
Теперь откройте http://<ip>:8080 и начните редактировать config.yml, добавляя свои сервисы.
Взгляд архитектора: Это "Single Pane of Glass" (Единое окно). Архитектор не ищет инструменты, он организует их. Homer — это не просто "красиво". Это точка входа в вашу инфраструктуру, которая экономит время и снижает когнитивную нагрузку.
#linux #docker #selfhosted #homelab #devops #гайд #weekendproject
У вас 10+ self-hosted сервисов: Proxmox, Gitea, Uptime Kuma, Nginx Proxy Manager... И вы держите все их IP и порты в голове или в закладках браузера. Это хаос.
Homer — это ваш единый, красивый "пульт управления" для всех ваших сервисов. Это просто статический HTML/YAML сайт.
Почему Homer, а не другие:
* Конфигурация как Код (IaC): Вы не "кликаете" в GUI. Вы описываете свой дашборд в одном config.yml файле.
* Легковесность: Это просто статика. Не нужна БД. Потребляет 0% CPU.
* Интеграции: Показывает "статус" (зеленый/красный) для ваших сервисов.
* Идеально для GitOps: Храните ваш config.yml в Git (на Gitea, который мы ставили!), и ваш дашборд будет версионируемым.
Как запустить (в Docker за 30 сек):
Bash
# 1. Создайте папку и конфиг
mkdir -p /opt/homer/data
touch /opt/homer/data/config.yml
# 2. Запустите контейнер
docker run -d \
-p 8080:8080 \
-v /opt/homer/data:/www/assets \
--name homer \
b4bz/homer:latest
Теперь откройте http://<ip>:8080 и начните редактировать config.yml, добавляя свои сервисы.
Взгляд архитектора: Это "Single Pane of Glass" (Единое окно). Архитектор не ищет инструменты, он организует их. Homer — это не просто "красиво". Это точка входа в вашу инфраструктуру, которая экономит время и снижает когнитивную нагрузку.
#linux #docker #selfhosted #homelab #devops #гайд #weekendproject
Проект на выходные: top — мертв. Строим свой SRE-мониторинг на Prometheus + Grafana
htop — это отлично. Но он показывает, что происходит сейчас. Он не скажет вам, что "каждую ночь в 3:05 CPU подскакивает до 100%".
Путь архитектора — это Observability. Вам нужны данные во времени.
Prometheus + Grafana — это "золотой стандарт" SRE и DevOps.
Prometheus: Собирает и хранит метрики (CPU, RAM, I/O, кастомные метрики) в базе данных временных рядов.
Grafana: Визуализирует эти данные в красивые, живые дашборды.
Как запустить за 5 минут (в Docker): Вам нужен docker-compose.yml:
YAML
Дальнейшие шаги:
Запустите docker-compose up -d.
Настройте Grafana (порт 3000), добавив Prometheus (порт 9090) как DataSource.
Начните собирать метрики с хостов, установив на них node_exporter (для Linux) или windows_exporter (для Windows).
Взгляд архитектора: Вы переходите от реактивного ("сервер упал") к проактивному ("мы видим, что место на диске закончится через 3 дня") мониторингу.
#linux #devops #sre #prometheus #grafana #docker #monitoring #weekendproject
htop — это отлично. Но он показывает, что происходит сейчас. Он не скажет вам, что "каждую ночь в 3:05 CPU подскакивает до 100%".
Путь архитектора — это Observability. Вам нужны данные во времени.
Prometheus + Grafana — это "золотой стандарт" SRE и DevOps.
Prometheus: Собирает и хранит метрики (CPU, RAM, I/O, кастомные метрики) в базе данных временных рядов.
Grafana: Визуализирует эти данные в красивые, живые дашборды.
Как запустить за 5 минут (в Docker): Вам нужен docker-compose.yml:
YAML
version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
depends_on:
- prometheus
Дальнейшие шаги:
Запустите docker-compose up -d.
Настройте Grafana (порт 3000), добавив Prometheus (порт 9090) как DataSource.
Начните собирать метрики с хостов, установив на них node_exporter (для Linux) или windows_exporter (для Windows).
Взгляд архитектора: Вы переходите от реактивного ("сервер упал") к проактивному ("мы видим, что место на диске закончится через 3 дня") мониторингу.
#linux #devops #sre #prometheus #grafana #docker #monitoring #weekendproject
🤡3🔥2🤔2❤1
🔒 Проект на выходные: Vaultwarden — ваш личный Bitwarden
Боль: У вас 500 паролей (RDP, SSH, Web-морды, API-ключи). Они лежат в KeePass-файле в Dropbox, в Excel-файле на "шаре" или (о ужас) в .txt.
Решение: Развернуть свой менеджер паролей. Bitwarden — топ, но его "self-hosted" версия тяжеловата (требует MSSQL).
Vaultwarden — это альтернативная реализация Bitwarden-сервера, написанная на Rust. Она 100% совместима со всеми клиентами Bitwarden (Chrome, iOS, Android), но при этом:
Легковесная: Работает в Docker, ест < 100МБ RAM.
Простая: Не требует MS SQL. Использует SQLite "из коробки".
Запускаем в Docker за 60 секунд:
Откройте http://<ip>:8080 и создайте аккаунт. Теперь это ваш Bitwarden.
Взгляд архитектора: Это "суверенитет данных" (Data Sovereignty). Вы возвращаете полный контроль над вашими самыми критическими активами — паролями.
#security #docker #selfhosted #bitwarden #vaultwarden #weekendproject #гайд
Боль: У вас 500 паролей (RDP, SSH, Web-морды, API-ключи). Они лежат в KeePass-файле в Dropbox, в Excel-файле на "шаре" или (о ужас) в .txt.
Решение: Развернуть свой менеджер паролей. Bitwarden — топ, но его "self-hosted" версия тяжеловата (требует MSSQL).
Vaultwarden — это альтернативная реализация Bitwarden-сервера, написанная на Rust. Она 100% совместима со всеми клиентами Bitwarden (Chrome, iOS, Android), но при этом:
Легковесная: Работает в Docker, ест < 100МБ RAM.
Простая: Не требует MS SQL. Использует SQLite "из коробки".
Запускаем в Docker за 60 секунд:
# 1. Создаем volume для данных (чтобы не потерять!)
docker volume create vaultwarden-data
# 2. Запускаем контейнер
docker run -d --name vaultwarden \
-v vaultwarden-data:/data \
-p 8080:80 \
--restart unless-stopped \
vaultwarden/server:latest
Откройте http://<ip>:8080 и создайте аккаунт. Теперь это ваш Bitwarden.
Взгляд архитектора: Это "суверенитет данных" (Data Sovereignty). Вы возвращаете полный контроль над вашими самыми критическими активами — паролями.
#security #docker #selfhosted #bitwarden #vaultwarden #weekendproject #гайд
🛡 Проект на выходные: Свой VPN за 2 минуты. wg-easy
Иметь свой VPN — это гигиена. Подключаться к домашнему серверу, безопасно сидеть через Wi-Fi в кафе или обходить ограничения.
WireGuard — это стандарт. Быстрый, легкий, современный. Но настраивать конфиги и ключи вручную — это долго.
wg-easy — это Docker-контейнер, который дает вам:
1. WireGuard сервер.
2. Веб-интерфейс для управления клиентами.
3. QR-коды для мгновенного подключения с телефона.
Готовый docker-compose.yml:
Запуск: docker-compose up -d. Использование: Зайдите на http://<ip>:51821, создайте клиента, отсканируйте QR-код телефоном. Вы в безопасности.
Взгляд архитектора: Это пример Self-Service подхода. Сложная технология (VPN) упакована в удобный продукт. Идеально для Home Lab или предоставления доступа небольшой команде разработчиков.
#linux #docker #vpn #wireguard #wgeasy #selfhosted #weekendproject #гайд
Иметь свой VPN — это гигиена. Подключаться к домашнему серверу, безопасно сидеть через Wi-Fi в кафе или обходить ограничения.
WireGuard — это стандарт. Быстрый, легкий, современный. Но настраивать конфиги и ключи вручную — это долго.
wg-easy — это Docker-контейнер, который дает вам:
1. WireGuard сервер.
2. Веб-интерфейс для управления клиентами.
3. QR-коды для мгновенного подключения с телефона.
Готовый docker-compose.yml:
version: "3.8"
services:
wg-easy:
environment:
# Замените на ваш внешний IP или домен!
- WG_HOST=my.domain.com
- PASSWORD=super_secret_password
- WG_PORT=51820
- WG_DEFAULT_Address=10.8.0.x
- WG_DEFAULT_DNS=1.1.1.1
image: ghcr.io/wg-easy/wg-easy
container_name: wg-easy
volumes:
- ./wg-easy-data:/etc/wireguard
ports:
- "51820:51820/udp" # Трафик VPN
- "51821:51821/tcp" # Веб-интерфейс
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
Запуск: docker-compose up -d. Использование: Зайдите на http://<ip>:51821, создайте клиента, отсканируйте QR-код телефоном. Вы в безопасности.
Взгляд архитектора: Это пример Self-Service подхода. Сложная технология (VPN) упакована в удобный продукт. Идеально для Home Lab или предоставления доступа небольшой команде разработчиков.
#linux #docker #vpn #wireguard #wgeasy #selfhosted #weekendproject #гайд
❤5👎2