Skip to content

Essentials for practicing Data Engineering / DevOps / DBA

Notifications You must be signed in to change notification settings

Kaboupi/d-compose

Repository files navigation

Docker Postgres ClickHouse Apache Grafana

D-compose 🐳

Follow this link to view the description in English - README_EN.md

Стэк из сервисов для практики в области Data Engineering / DevOps / DBA.

Проект настроен на комфортный и быстрый запуск всех сервисов одной командой.

В docker-compose.yaml собраны следующие образы:

Номер Docker image TAG Описание
1 PostgreSQL postgres:13.3 OLTP СУБД
2 ClickHouse clickhouse/clickhouse-server:latest OLAP СУБД
3 Apache Airflow apache/airflow:2.10.4 ETL
4 Apache Kafka confluentinc/cp-kafka:latest Брокер сообщений
5 Apache Zookeeper zookeeper:3.7 Координация/Управление
6 Apache Nifi apache/nifi:1.28.1 ETL
7 Minio minio/minio:latest Object Storage
8 Grafana Enterprise grafana/grafana-enterprise:latest BI-инструмент

Основные параметры для подключения и настраиваемые конфигурации прописаны в .env файле

Установка (Windows / Linux)

Linux:

Для поднятия контейнеров на Linux должны быть установлены Docker compose и все необходимые зависимости. Полная документация по установке указана в официальной документации. Также можно установить Desktop версию для Linux.

Windows: Для установки Docker compose необходимо установить Desktop версию для Windows и иметь установленную WSL 2.0.

Ознакомиться с гайдом по установке и настройке WSL можно на официальном сайте Microsoft.

  1. Клонирование репозитория
git clone [email protected]:Kaboupi/d-compose.git
  1. Переход в директорию D-compose
cd d-compose
  1. Поднятие Docker контейнеров
docker compose up -d
  1. Провести проверку работоспособности основных сервисов
docker ps --format '{{.Status}}\t{{.Names}}'

У всех контейнеров должен быть статус Up ... (healthy)

Взаимодействие с сервисами

Ниже представлен список веб-интерфейсов, доступных по дефолту:

По дефолту PV прописаны только для сохранения подключений к Grafana и метаданных Postgres для Airflow.

❗Если хотите добавить PV, то нужно прописать их напрямую в volumes:, например:

services:
  clickhouse:
    image: clickhouse/clickhouse-server:latest
    ...
    volumes:
      - ./my_custom_dir:/var/lib/clickhouse  # эта строчка добавит в вашу локальную директорию my_custom_dir все данные СУБД

volumes:
  my_custom_dir:
    driver: local

Документация

Документация по сервисам находится в директории docs

Ознакомиться с её оглавлением можно по ссылке - Документация d-compose

Поддержка

Если у вас возникли сложности или вопросы по использованию пакета, создайте обсуждение в данном репозитории.

Зависимости

Linux:

  • Docker compose release ~>2.28.0 or latest Windows:
  • Windows 10 ~>22H2
  • WSL (желательно 2.0)
  • Docker Desktop ~>4.20 or latest