HA в домашнем самохостинге на примере reverse proxy и не только

Вчера таки добрался до GPT и переписывания скрипта загрузки правил на python, теперь это выглядит так

$ ./deploy-consul.py
📤 Загружаем конфигурацию из '.' в Consul 'http://10.110.0.121:8500'
➕ Добавлен ключ: traefik/http/services/palmr-service/loadBalancer/servers/0/url → http://palmr.lan:80
➕ Добавлен ключ: traefik/http/routers/palmr-router/rule → Host(`share.domain.com`)
➕ Добавлен ключ: traefik/http/routers/palmr-router/entryPoints/0 → websecure
➕ Добавлен ключ: traefik/http/routers/palmr-router/service → palmr-service
✅ Конфигурация успешно синхронизирована.
➕ Добавлено ключей: 4
♻️ Обновлено ключей: 0
🗑️ Удалено ключей: 0
⏭️ Пропущено ключей: 480

Скрипт запусается или руками для тестирвания (что не очень правильно) или в плайплайне CI/CD

Добавление нового сервиса у меня происходит так
demo2

  1. Прописал домен
  2. На основе домена сгенерировалось имя роута и сервиса
  3. На основе домена подставилось локальное имя lxc контейнера, я пользую servicename.domain.com обрабатывается контейнером servicename с локальным DNS именем servicename.lan
  4. А вот порт 80 не стал использовать по-умолчанию, а задал свой 8080
  5. Далее добавил мидллварку, в данном случае это разрешение доступа только из локальных сетей (локалка и VPN)
  6. После показывает все параметры и если согласен с ними, то жмешь enter
  7. Далее предлагает добавить закоммитить сгенерированные файлы в git репозиторий
  8. Далее предлагает добавить еще один домен, но тут действие по-умолчанию уже выход

git log имеет следующий коммит

commit aaf096e2dbf061ff427f91b3127f711549ba2607 (HEAD -> main)
Author: Roman Kudlay <roman@kudlay.pro>
Date:   Thu Oct 2 15:17:42 2025 +0300

    Added new domain http://test.demo.com with downstream http://test.lan:8080

Далее, git push отправляет правки в обработку в forgejo (как это выглядит показано выше)

1 лайк