109 lines
3.3 KiB
YAML
109 lines
3.3 KiB
YAML
services:
|
|
openwarehouse.auth.api:
|
|
image: openwarehouse.auth.api
|
|
build:
|
|
context: .
|
|
dockerfile: OpenWarehouse.auth.api/Dockerfile
|
|
environment:
|
|
- ConnectionString=Host=${postgres_host};Database=openWarehouse.auth;Username=${postgres_username};Password=${postgres_pass}
|
|
- Kafka={"BootstrapServers":"kafka:9092","TopicRoot":"auth"}
|
|
- ASPNETCORE_ENVIRONMENT=${ASP_NET_ENV}
|
|
depends_on:
|
|
- postgres.db
|
|
- kafka
|
|
networks:
|
|
- open-warehouse
|
|
|
|
openwarehouse.warehouse.api:
|
|
image: openwarehouse.warehouse.api
|
|
build:
|
|
context: .
|
|
dockerfile: OpenWarehouse.warehouse.api/Dockerfile
|
|
networks:
|
|
- open-warehouse
|
|
environment:
|
|
- Auth:Url=${auth_url}
|
|
- ASPNETCORE_ENVIRONMENT=${ASP_NET_ENV}
|
|
- Kafka={"BootstrapServers":"kafka:9092","TopicRoot":"warehouse"}
|
|
- ConnectionString=Host=${postgres_host};Database=openWarehouse.warehouse;Username=${postgres_username};Password=${postgres_pass}
|
|
depends_on:
|
|
- kafka
|
|
- postgres.db
|
|
- openwarehouse.auth.api
|
|
|
|
postgres.db:
|
|
image: postgres:latest
|
|
container_name: Openwarehouse-postgres
|
|
volumes:
|
|
- postgresData:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_PASSWORD: ${postgres_pass}
|
|
networks:
|
|
- open-warehouse
|
|
ports:
|
|
- 5432:5432
|
|
|
|
pgadmin4:
|
|
image: dpage/pgadmin4
|
|
container_name: pgadmin4
|
|
environment:
|
|
- PGADMIN_DEFAULT_EMAIL=user@domain.com
|
|
- PGADMIN_DEFAULT_PASSWORD=!Q2w3e4r
|
|
networks:
|
|
- open-warehouse
|
|
|
|
kafka:
|
|
image: bitnami/kafka:latest
|
|
ports:
|
|
- "9092:9092"
|
|
- "9093:9093"
|
|
volumes:
|
|
- kafka_data:/bitnami
|
|
- ./create-topics.sh:/docker-entrypoint-initdb.d/create-topics.sh
|
|
environment:
|
|
- KAFKA_ENABLE_KRAFT=yes
|
|
- KAFKA_CFG_NODE_ID=1
|
|
- KAFKA_CFG_PROCESS_ROLES=broker,controller
|
|
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9094
|
|
- KAFKA_CFG_LISTENERS=INTERNAL://:9092,EXTERNAL://:9093,CONTROLLER://:9094
|
|
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,EXTERNAL://localhost:9093
|
|
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,CONTROLLER:PLAINTEXT
|
|
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
|
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
|
|
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1
|
|
- KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=1
|
|
- KAFKA_CFG_MIN_INSYNC_REPLICAS=1
|
|
- KAFKA_CLUSTER_ID=nKk3Nd8LQbyf9hl0cdfN0A
|
|
- KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
|
|
- KAFKA_CFG_LOG_RETENTION_MS=86400000
|
|
- KAFKA_CFG_LOG_CLEANUP_POLICY=delete
|
|
networks:
|
|
- open-warehouse
|
|
|
|
nginx:
|
|
image: nginx
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
networks:
|
|
- open-warehouse
|
|
depends_on:
|
|
- openwarehouse.auth.api
|
|
- openwarehouse.warehouse.api
|
|
- kafka
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- ./certs/localhost.crt:/etc/ssl/certs/localhost.crt:ro
|
|
- ./certs/localhost.key:/etc/ssl/private/localhost.key:ro
|
|
|
|
networks:
|
|
open-warehouse:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
postgresData:
|
|
driver: local
|
|
zookeeper_data:
|
|
driver: local
|
|
kafka_data:
|
|
driver: local |