Files
poc_system/docker-compose.yml

68 lines
1.7 KiB
YAML
Executable File

version: '3.8'
services:
# 1. OpenSearch: Vector & Full-text Search Engine
opensearch:
image: opensearchproject/opensearch:2.11.1
container_name: poc_opensearch
environment:
- discovery.type=single-node
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=Admin123!@#
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
- DISABLE_SECURITY_PLUGIN=true # Tạm tắt security plugin để dev dễ dàng (không cần HTTPS/certs phức tạp)
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9200:9200"
- "9600:9600"
volumes:
- opensearch-data:/usr/share/opensearch/data
networks:
- poc_network
# 2. OpenSearch Dashboards: Giao diện web quản lý Index (Tùy chọn nhưng rất tiện)
opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:2.11.1
container_name: poc_os_dashboards
environment:
- OPENSEARCH_HOSTS=http://opensearch:9200
- DISABLE_SECURITY_DASHBOARDS_PLUGIN=true
ports:
- "5601:5601"
depends_on:
- opensearch
networks:
- poc_network
# 3. Backend App: Ứng dụng Python Ingestion & Search
backend:
build: .
container_name: poc_backend
volumes:
- .:/app # Mount source code để sửa code nhận ngay không cần rebuild
ports:
- "8000:8000"
environment:
- OPENSEARCH_HOST=opensearch
- OPENSEARCH_PORT=9200
# Các biến môi trường khác sẽ được mount từ file .env local
env_file:
- .env
depends_on:
- opensearch
networks:
- poc_network
volumes:
opensearch-data:
networks:
poc_network:
driver: bridge