Перейти к содержанию

Сервисы

Назначение файла

Этот документ описывает директорию config/services/, раскрывает назначение её подпапок и файлов, а также даёт пошаговую инструкцию по запуску и базовой настройке каждого вспомогательного сервиса внутри системы мониторинга.


1. Дерево каталогов

config/
└─ services/
   ├─ auth/                       # Traefik Forward-Auth для SSO
   ├─ build_python_docker_image/  # базовый Python-образ для утилит
   ├─ consul/                     # Consul — service discovery + KV
   ├─ consul-manager/             # UI для регистрации сервисов в Consul
   ├─ keycloak/                   # Keycloak — Identity & Access Management
   ├─ mcdocs/                     # MkDocs-Material — документация в браузере
   ├─ pgadmin/                    # PgAdmin — UI для PostgreSQL
   ├─ portainer/                  # Portainer — UI-панель для Docker
   └─ traefik/                    # Traefik — reverse-proxy + ACME

📂 Каждая папка содержит docker-compose.yml и пример .env_example с переменными окружения. Все сервисы разворачиваются независимо друг от друга, но подключаются к общей сети monitoring_net.


2. Обзор сервисов

Каталог Compose-файл Контейнер(ы) Назначение
auth docker-compose.yml monitoring-forward-auth OAuth2 Forward-Auth для Traefik (SSO через Keycloak)
build_python_docker_image docker-compose-build.yml monitoring_python_base Сборка базового Python-образа со всеми библиотеками проекта
consul deployment/docker/docker-compose.yaml consul-server Service discovery, health-checks, KV-store
consul-manager deployment/docker/docker-compose.yaml consul_manager Веб-UI (Streamlit) для ручной регистрации сервисов в Consul
keycloak deployment/docker/docker-compose.yaml keycloak, keycloak-postgres Identity Provider, OIDC
mcdocs docker-compose.yaml mkdocs Хостинг внутренней документации (docs/)
pgadmin docker-compose.yml pgadmin Визуальный клиент PostgreSQL
portainer deployment/docker/docker-compose.yml portainer Веб-UI для управления Docker-хостом
traefik deployment/docker/docker-compose.yml traefik Reverse-proxy, TLS, middleware

3. Типовой запуск сервиса

  1. Перейдите в каталог сервиса, например: bash cd config/services/portainer/deployment/docker
  2. Создайте файл .env из примера и заполните необходимые переменные: bash cp .env_example .env nano .env # или любой редактор
  3. Убедитесь, что внешняя сеть monitoring_net существует (создаётся один раз на всю систему): bash docker network create monitoring_net || true
  4. Запустите контейнер(ы): bash docker compose up -d
  5. Откройте URL, указанный в переменной *_HOST, чтобы проверить работу сервиса.

🔄 Для применения изменения конфигурации достаточно перезапустить только нужный сервис: docker compose up -d <service_name>.


4. Документация по сервисам

Подробные инструкции по настройке и запуску каждого сервиса вынесены в отдельные документы:


5. Быстрый чек-лист для админа перед выкладкой

  • [ ] .env заполнен и не содержит секретов (секреты в CI Vault).
  • [ ] Сеть monitoring_net существует.
  • [ ] Теги образов указаны явно (${IMAGE_TAG} вместо latest).
  • [ ] Traefik-labels корректно настраивают маршруты.
  • [ ] Healthcheck-и проходят (docker compose ps).

❤️ Обнаружили неточность? Пожалуйста, создайте Pull Request с правкой этого файла.