# This configuration combines the app and database services for easy execution at the project root name: sisvietnamvn services: oracle: image: container-registry.oracle.com/database/free:latest restart: always ports: - "1521:1521" environment: - ORACLE_PWD=Oracle123! - ORACLE_PASSWORD=Oracle123! - ORACLE_PDB=sisvietnam - ORACLE_DATABASE=sisvietnam - APP_USER=sisvietnam - APP_USER_PASSWORD=sisvietnam volumes: - oracle_data:/opt/oracle/oradata networks: - sisvietnamvn-net app: image: git.victorphan.net/basketballcantho/sisvietnamvn:latest depends_on: oracle: condition: service_healthy environment: - _JAVA_OPTIONS=-Xmx512m -Xms256m - SPRING_PROFILES_ACTIVE=prod,api-docs,secret-samples - MANAGEMENT_PROMETHEUS_METRICS_EXPORT_ENABLED=true - SPRING_DATASOURCE_URL=jdbc:oracle:thin:@oracle:1521/sisvietnam - SPRING_DATASOURCE_USERNAME=SYSTEM - SPRING_DATASOURCE_PASSWORD=Oracle123! - SPRING_LIQUIBASE_URL=jdbc:oracle:thin:@oracle:1521/sisvietnam ports: - "8080:8080" healthcheck: test: [ 'CMD-SHELL', 'bash -c ''exec 3<>/dev/tcp/127.0.0.1/8080; printf "GET /management/health HTTP/1.0\r\nHost: localhost\r\n\r\n" >&3; grep -q "\"status\":\"UP\"" <&3''', ] interval: 5s timeout: 5s retries: 40 networks: - sisvietnamvn-net networks: sisvietnamvn-net: driver: bridge volumes: oracle_data: