blob: eedd082a9efa8bec57a3642c8337596e2e0e0772 [file]
services:
db:
image: mariadb:11.8
container_name: airavata-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: airavata
MYSQL_USER: airavata
MYSQL_PASSWORD: 123456
volumes:
- db_data:/var/lib/mysql
- ./airavata-api/src/main/resources/conf/db/migration/airavata/V1__Baseline_schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro
ports:
- "13306:3306"
rabbitmq:
image: rabbitmq:4.0-management
container_name: airavata-rabbitmq
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: airavata
RABBITMQ_DEFAULT_PASS: airavata
volumes:
- rabbitmq_data:/var/lib/rabbitmq
ports:
- "5672:5672"
- "15672:15672"
zookeeper:
image: zookeeper:latest
container_name: airavata-zookeeper
restart: unless-stopped
volumes:
- zk_data:/data
- zk_logs:/datalog
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:latest
container_name: airavata-kafka
restart: unless-stopped
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- kafka_data:/kafka
ports:
- "9092:9092"
depends_on:
- zookeeper
keycloak:
image: keycloak/keycloak:25.0
container_name: airavata-keycloak
restart: unless-stopped
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
volumes:
- ./conf/keycloak/realm-default.json:/opt/keycloak/data/import/realm-default.json:ro
- ./conf/keycloak/keycloak.conf:/opt/keycloak/conf/keycloak.conf:ro
command: ["start", "--import-realm"]
ports:
- "18080:18080"
# Dev tools (start with: docker compose --profile tools up -d)
adminer:
profiles: [tools]
image: adminer:latest
container_name: airavata-adminer
restart: unless-stopped
ports:
- "18088:8080"
depends_on:
- db
volumes:
db_data:
rabbitmq_data:
zk_data:
zk_logs:
kafka_data: