services: db: image: mysql:8.4 container_name: oracion-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-oracion_secret} MYSQL_DATABASE: oracion_db volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-p${DB_ROOT_PASSWORD:-oracion_secret}"] interval: 10s timeout: 5s retries: 10 app: build: . container_name: oracion-app restart: unless-stopped ports: - "8081:8080" environment: SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/oracion_db?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=Europe/Madrid&allowPublicKeyRetrieval=true SPRING_DATASOURCE_USERNAME: root SPRING_DATASOURCE_PASSWORD: ${DB_ROOT_PASSWORD:-oracion_secret} SPRING_JPA_HIBERNATE_DDL_AUTO: update SPRING_THYMELEAF_CACHE: "true" depends_on: db: condition: service_healthy volumes: mysql_data: