Найти в Дзене
Linux | Network | DevOps

GoDoxy — швейцарский нож для самохостинга и Docker-контейнеров

Знакома ли вам ситуация, когда количество самохостимых сервисов растет, и каждый из них требует своей настройки прокси, SSL-сертификатов и постоянного внимания? Когда вы запускаете новый Docker-контейнер, а потом тратите еще полчаса, чтобы прописать для него маршрут в Nginx или Caddy? А если у вас еще и Proxmox, и хочется управлять всем из одной точки? Если да, то у меня для вас отличная новость! Сегодня мы погрузимся в мир GoDoxy — проекта, который обещает значительно упростить жизнь каждому, кто занимается самохостингом и активно использует контейнеры. Это не просто очередной реверс-прокси; это целая система, которая берет на себя рутину по управлению трафиком, SSL-сертификатами и даже жизненным циклом ваших контейнеров. Представьте, что у вас есть умный помощник, который сам следит за вашими Docker-контейнерами или виртуальными машинами в Proxmox, автоматически создает для них маршруты, выдает SSL-сертификаты и даже умеет "усыплять" неактивные сервисы, чтобы экономить ресурсы. Имен
Оглавление

Знакома ли вам ситуация, когда количество самохостимых сервисов растет, и каждый из них требует своей настройки прокси, SSL-сертификатов и постоянного внимания? Когда вы запускаете новый Docker-контейнер, а потом тратите еще полчаса, чтобы прописать для него маршрут в Nginx или Caddy? А если у вас еще и Proxmox, и хочется управлять всем из одной точки? Если да, то у меня для вас отличная новость!

Сегодня мы погрузимся в мир GoDoxy — проекта, который обещает значительно упростить жизнь каждому, кто занимается самохостингом и активно использует контейнеры. Это не просто очередной реверс-прокси; это целая система, которая берет на себя рутину по управлению трафиком, SSL-сертификатами и даже жизненным циклом ваших контейнеров.

Что такое GoDoxy и кому он нужен?

Представьте, что у вас есть умный помощник, который сам следит за вашими Docker-контейнерами или виртуальными машинами в Proxmox, автоматически создает для них маршруты, выдает SSL-сертификаты и даже умеет "усыплять" неактивные сервисы, чтобы экономить ресурсы. Именно это и делает GoDoxy!

GoDoxy — это легковесный, простой в настройке и высокопроизводительный реверс-прокси с интуитивно понятным веб-интерфейсом. Он написан на Go, что уже само по себе намекает на его скорость и эффективность. Проект ориентирован на:

  • Самохостеров, у которых множество сервисов (Nextcloud, Plex, Gitea и т.д.) крутятся на одном или нескольких серверах.
  • Разработчиков, которым нужно быстро разворачивать и тестировать приложения в контейнерах, не заморачиваясь с настройкой прокси.
  • Администраторов, управляющих инфраструктурой на базе Docker, Podman и Proxmox, и ищущих единую точку контроля.

По сути, GoDoxy — это центральный хаб, который связывает ваши сервисы с внешним миром, делая это умно и автоматически.

Ключевые возможности: Прощай, рутина!

Давайте посмотрим, что именно делает GoDoxy таким привлекательным.

1. Автоматизация на стероидах: "Просто запусти, остальное сделает GoDoxy"

Самая, на мой взгляд, киллер-фича — это глубокая автоматизация. Забудьте о ручном редактировании конфигов прокси каждый раз, когда вы запускаете новый сервис.

  • Автоматическое обнаружение контейнеров: GoDoxy мониторит ваши Docker или Podman контейнеры. Достаточно добавить простые метки (labels) к вашему docker-compose.yml, и GoDoxy сам создаст маршруты, привяжет домены и настроит проксирование.services:
    my-app:
    image: my-app:latest
    labels:
    - "proxy.aliases=my-app" # Доступно по my-app.yourdomain.com
    - "proxy.port=80" # Порт контейнера
  • Бесплатные SSL-сертификаты от Let's Encrypt: GoDoxy сам позаботится о выдаче и обновлении SSL-сертификатов, используя DNS-01 Challenge. Это значит, что ваши сервисы всегда будут доступны по HTTPS, и вам не придется об этом думать.
  • "Горячая" перезагрузка: Изменили метки контейнера? GoDoxy мгновенно подхватит изменения без перезапуска всего прокси. Это очень удобно при разработке и деплое.

2. Интеграция с Proxmox: Управление всем из одного места

Для тех, кто использует Proxmox для виртуализации, GoDoxy предлагает по-настоящему уникальные возможности.

  • Автоматическое связывание маршрутов: GoDoxy может автоматически связывать маршруты с вашими узлами Proxmox или LXC-контейнерами, сопоставляя их по имени хоста, IP или алиасу. Это позволяет проксировать трафик к вашим VM и LXC так же легко, как к Docker-контейнерам.
  • Управление жизненным циклом LXC: Прямо из веб-интерфейса GoDoxy вы можете запускать, останавливать и перезапускать LXC-контейнеры. Представляете, как это удобно?
  • Логи в реальном времени: Получайте потоковые journalctl логи как с узлов Proxmox, так и с LXC-контейнеров прямо в WebUI GoDoxy. Это бесценно для отладки и мониторинга.

3. Умное управление ресурсами: Idle-sleep

Наверняка у вас есть сервисы, которые используются не постоянно. Зачем им потреблять ресурсы 24/7? GoDoxy умеет "усыплять" неактивные Docker-контейнеры и LXC-контейнеры Proxmox, а затем автоматически "будить" их при поступлении трафика. Это отличный способ экономить оперативную память и процессорное время на вашем сервере.

4. Мощный WebUI: Ваш центр управления

Все эти возможности были бы неполными без удобного интерфейса. WebUI GoDoxy — это не просто "красивая картинка", а полноценный центр управления:

  • Панель приложений: Обзор всех ваших проксируемых сервисов.
  • Редактор конфигурации: Удобное редактирование маршрутов и настроек.
  • Метрики и логи: Мониторинг аптайма, системных метрик, а также логи контейнеров и Proxmox в реальном времени.
  • Управление контейнерами: Запуск, остановка, перезапуск Docker и LXC контейнеров прямо из браузера.
-2
Маршруты в GoDoxyМониторинг серверов
Маршруты в GoDoxyМониторинг серверов

5. Гибкий контроль доступа (ACL) и безопасность

GoDoxy позволяет настроить контроль доступа на уровне соединения и запроса. Вы можете фильтровать трафик по IP/CIDR, а также по стране и часовому поясу (потребуется аккаунт Maxmind). Поддержка OpenID Connect и ForwardAuth позволяет легко интегрировать SSO и другие провайдеры аутентификации для защиты ваших приложений. И, конечно, ведется логирование всех доступов.

Под капотом: почему GoDoxy так хорош?

Проект написан на Go, и это не случайно. Go известен своей производительностью, эффективным использованием ресурсов и отличными возможностями для создания сетевых приложений. Благодаря этому GoDoxy:

  • Легковесен: Не потребляет много ресурсов сам по себе.
  • Производителен: Способен обрабатывать большое количество запросов без задержек.
  • Надежен: Go-приложения славятся своей стабильностью.

Архитектура GoDoxy построена таким образом, чтобы быть максимально гибкой. Он постоянно мониторит изменения в вашей инфраструктуре (Docker, Podman, Proxmox) и мгновенно адаптирует свои маршруты.

Практическое применение: Как это упростит вашу жизнь?

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

  1. Вы создаете docker-compose.yml для этого сервиса.
  2. Добавляете пару меток proxy.aliases и proxy.port.
  3. Запускаете docker compose up -d.
  4. Готово! GoDoxy сам подхватит контейнер, создаст для него маршрут, выдаст SSL-сертификат, и ваш фотохостинг будет доступен по photos.yourdomain.com через HTTPS.

А если у вас есть старый сервер на Proxmox с несколькими LXC-контейнерами, и вы хотите, чтобы они тоже были доступны извне? GoDoxy автоматически свяжет маршруты с этими контейнерами, и вы сможете управлять ими прямо из его WebUI. Больше не нужно переключаться между разными инструментами!

Выводы: Стоит ли попробовать GoDoxy?

Если вы устали от ручной настройки прокси, жонглирования SSL-сертификатами и хотите получить единый, мощный и при этом простой инструмент для управления вашей самохостимой инфраструктурой, то GoDoxy — это определенно ваш выбор.

Он идеально подойдет:

  • Самохостерам, которые хотят максимально автоматизировать управление своими сервисами.
  • Энтузиастам, ищущим производительное и легковесное решение для проксирования.
  • Пользователям Proxmox, желающим интегрировать управление LXC-контейнерами с реверс-прокси.

Проект активно развивается, имеет дружелюбное сообщество (есть даже Discord!) и демонстрирует впечатляющий функционал. Учитывая его простоту установки (достаточно одного скрипта и docker compose), попробовать GoDoxy не составит труда. Загляните на демо-версию и убедитесь сами!

Дайте GoDoxy шанс, и, возможно, он станет незаменимым инструментом в вашем арсенале!

Linux | Network | DevOps

Чат

YouTube

VK

Rutube