An open API service indexing awesome lists of open source software.

https://github.com/kaboupi/d-compose

Essentials for practicing Data Engineering / DevOps / DBA
https://github.com/kaboupi/d-compose

apache-airflow clickhouse docker docker-compose postgres

Last synced: about 1 year ago
JSON representation

Essentials for practicing Data Engineering / DevOps / DBA

Awesome Lists containing this project

README

          

![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)
![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)
![ClickHouse](https://img.shields.io/badge/ClickHouse-FFCC01?style=for-the-badge&logo=clickhouse&logoColor=white)
![Apache](https://img.shields.io/badge/apache-%23D42029.svg?style=for-the-badge&logo=apache&logoColor=white)
![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?style=for-the-badge&logo=grafana&logoColor=white)

# D-compose 🐳

> Follow this link to view the description in English - [README_EN.md](https://github.com/Kaboupi/d-compose/tree/master/docs/README_EN.md)

Бтэк ΠΈΠ· сСрвисов для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π² области Data Engineering.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ настроСн Π½Π° ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Ρ‹ΠΉ ΠΈ быстрый запуск всСх сСрвисов ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Π’ [**docker-compose.yaml**](https://github.com/Kaboupi/d-compose/blob/master/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|ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅|
|8|Grafana Enterprise|grafana/grafana-enterprise:latest|BI-инструмСнт|

> ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ настраиваСмыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ прописаны Π² **[.env](https://github.com/Kaboupi/d-compose/blob/master/.env)** Ρ„Π°ΠΉΠ»Π΅

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

**Linux**:

Для поднятия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π° Linux Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны **Docker compose** ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости. Полная докумСнтация ΠΏΠΎ установкС ΡƒΠΊΠ°Π·Π°Π½Π° Π² [ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ](https://docs.docker.com/compose/install/linux/). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ [Desktop Π²Π΅Ρ€ΡΠΈΡŽ для Linux](https://docs.docker.com/desktop/).

**Windows**:
Для установки **Docker compose** Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ [Desktop Π²Π΅Ρ€ΡΠΈΡŽ для Windows](https://docs.docker.com/desktop/) ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ WSL 2.0.

ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с инстуркциСй ΠΏΠΎ установкС ΠΈ настройкС WSL ΠΌΠΎΠΆΠ½ΠΎ Π½Π° [ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Microsoft](https://learn.microsoft.com/ru-ru/windows/wsl/install).

1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория

```bash
git clone git@github.com:Kaboupi/d-compose.git
```

2. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ D-compose

```bash
cd d-compose
```

3. ΠŸΠΎΠ΄Π½ΡΡ‚ΠΈΠ΅ Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²

```bash
docker compose up -d
```

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

НиТС прСдставлСн список Π²Π΅Π±-интСрфСйсов, доступных ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ:

- **Clickhouse**: [http://localhost:8123/](http://localhost:8123/)
- **Apache Airflow**: [http://localhost:8080/](http://localhost:8080/)
- **Apache NiFi**: [http://localhost:8090/nifi](http://localhost:8090/nifi)
- **Minio**: [http://localhost:9001/](http://localhost:9001/)
- **Grafana**: [http://localhost:3000/](http://localhost:3000/)
- - Π’ **Data Sources** Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π‘Π£Π‘Π” Postgres ΠΈ Π‘Π£Π‘Π” ClickHouse. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ хранятся Π² `sources/grafana/provisioning/datasources/datasources.yaml`

По Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ PV прописаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сохранСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊ Grafana ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Postgres для Airflow.

> ❗Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ bind mount, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² `volumes:`, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
>
> ```yaml
> services:
> clickhouse:
> image: clickhouse/clickhouse-server:latest
> ...
> volumes:
> - my_custom_volume:/var/lib/clickhouse # docker volume
> - ./my_custom_dir:/var/lib/clickhouse # bind mount
>
> volumes:
> my_custom_volume:
> ```

## ДокумСнтация

ДокумСнтация ΠΏΠΎ сСрвисам находится Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ docs

ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΅Ρ‘ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС - **[ДокумСнтация d-compose](https://github.com/Kaboupi/d-compose/blob/master/docs/list.md)**

## ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ слоТности ΠΈΠ»ΠΈ вопросы ΠΏΠΎ использованию ΠΏΠ°ΠΊΠ΅Ρ‚Π°, создайтС
**[обсуТдСниС](https://github.com/kaboupi/d-compose/issues/new/choose)** Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

## Зависимости

Linux:

- Docker compose release ~>2.28.0 or latest

Windows:

- Windows 10 ~>22H2
- WSL (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ 2.0)
- Docker Desktop ~>4.20 or latest