version: "3.8" name: price-pulse services: postgres: image: postgres:16 ports: - "5432:5432" environment: POSTGRES_DB: parsed_data POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres deploy: resources: limits: memory: 1024M reservations: memory: 256M clickhouse: image: clickhouse/clickhouse-server:latest ports: - "8123:8123" # HTTP интерфейс, /play для проверки запросов, но лучше использовать не браузер для этого - "9000:9000" # Интерфейс для работы с клиентами - "9009:9009" # Интерфейс для взаимодействия через TCP volumes: - clickhouse_data:/var/lib/clickhouse - clickhouse_logs:/var/log/clickhouse environment: CLICKHOUSE_DB: parsed_data CLICKHOUSE_USER: user CLICKHOUSE_PASSWORD: password deploy: resources: limits: memory: 1024M reservations: memory: 256M zookeeper: image: confluentinc/cp-zookeeper:latest environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - "2181:2181" deploy: resources: limits: memory: 1024M reservations: memory: 256M kafka: image: confluentinc/cp-kafka:latest depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 volumes: - kafka_data:/var/lib/kafka deploy: resources: limits: memory: 1024M reservations: memory: 256M volumes: clickhouse_data: clickhouse_logs: kafka_data: