blob: 2403ca741d064ba5baeba84fd7e82d044356e084 [file] [log] [blame]
services:
mysql:
image: mariadb:10.11
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: experiment_catalog
MYSQL_USER: airavata
MYSQL_PASSWORD: 123456
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
- ./.devcontainer/database_scripts/init:/docker-entrypoint-initdb.d:ro
networks:
- airavata-network
rabbitmq:
image: rabbitmq:3-management
container_name: airavata-rabbitmq
environment:
RABBITMQ_DEFAULT_USER: airavata
RABBITMQ_DEFAULT_PASS: airavata
ports:
- "5672:5672"
- "15672:15672"
volumes:
- rabbitmq-data:/var/lib/rabbitmq
networks:
- airavata-network
zookeeper:
image: confluentinc/cp-zookeeper:7.4.0
container_name: airavata-zookeeper
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
volumes:
- zookeeper-data:/var/lib/zookeeper/data
- zookeeper-logs:/var/lib/zookeeper/log
networks:
- airavata-network
kafka:
image: confluentinc/cp-kafka:7.4.0
container_name: airavata-kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
volumes:
- kafka-data:/var/lib/kafka/data
networks:
airavata-network:
aliases:
- airavata.host
airavata-monolithic:
build:
context: .
dockerfile: Dockerfile
container_name: airavata-monolithic
ports:
- "8930:8930" # Airavata API (Thrift RPC)
- "8050:8050" # File Server (Thrift RPC)
- "18800:18800" # Agent Service (Thrift RPC)
- "18889:18889" # Research Service (Thrift RPC)
- "19900:19900" # Agent Service gRPC
- "19908:19908" # Research Service gRPC
healthcheck:
test: ["CMD-SHELL", "nc -z localhost 8930 || exit 1"]
interval: 30s
timeout: 10s
start_period: 60s
retries: 3
volumes:
- ./dev-tools/deployment-scripts/airavata-server.properties:/opt/airavata/vault/airavata-server.properties:ro
- ./dev-tools/deployment-scripts/airavata-server.properties:/opt/airavata/apache-airavata-api-server/conf/airavata-server.properties:ro
- airavata-logs:/opt/airavata/logs
environment:
- JAVA_OPTS=-Xmx2g -Xms1g -Dthrift.server.max.message.size=1048576000 -Dthrift.server.max.frame.size=1048576000 -Dthrift.server.transport.max.message.size=1048576000 -Dthrift.maxMessageSize=1048576000 -Dthrift.maxFrameSize=1048576000
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
depends_on:
- mysql
- rabbitmq
- zookeeper
- kafka
networks:
- airavata-network
volumes:
mysql-data:
rabbitmq-data:
zookeeper-data:
zookeeper-logs:
kafka-data:
airavata-logs:
networks:
airavata-network:
driver: bridge