version: "3" services: wildfly: image: quay.io/wildfly/wildfly container_name: wildfly hostname: wildfly ports: - 8080:8080 - 9990:9990 volumes: - ./build/libs/:/opt/jboss/wildfly/standalone/deployments/ environment: - WILDFLY_USERNAME=admin - WILDFLY_PASSWORD=password - DB_PORT=3306 - DB_HOST=mariadb command: > bash -c ' ( sleep 15 && /opt/jboss/wildfly/bin/jboss-cli.sh \ --connect controller=127.0.0.1 \ --command=" \ data-source add \ --jndi-name=java:/MySqlDS \ --name=MySQLDS \ --connection-url=jdbc:mysql://$$DB_HOST:$$DB_PORT/mydatabase \ --driver-name=backend.war_com.mysql.cj.jdbc.Driver_8_0 \ --user-name=$$WILDFLY_USERNAME \ --password=$$WILDFLY_PASSWORD \ " )& /opt/jboss/wildfly/bin/add-user.sh admin password --silent && /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0' depends_on: mariadb: condition: service_healthy restart: always mariadb: image: mariadb container_name: mariadb hostname: mariadb environment: - MYSQL_USER=user - MYSQL_PASSWORD=mypassword - MYSQL_DATABASE=mydatabase - MYSQL_ROOT_PASSWORD=rootpassword ports: - 3306:3306 volumes: - ./mariadb/:/var/lib/mysql/ healthcheck: test: [ "CMD-SHELL", 'mysqladmin -p$$MYSQL_ROOT_PASSWORD -h localhost ping | grep "mysqld is alive" || exit 1', ] interval: 2s retries: 10 restart: always volumes: wildfly_data: driver: local mariadb: driver: local