services: postgres: image: postgres:18-alpine container_name: itse-b08-database environment: POSTGRES_DB: pw_demo POSTGRES_USER: pw_demo POSTGRES_PASSWORD: pw_demo ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./init-scripts:/docker-entrypoint-initdb.d healthcheck: test: ["CMD-SHELL", "pg_isready -U myuser -d myappdb"] interval: 10s timeout: 5s retries: 5 networks: - app-network app: build: context: . dockerfile: Dockerfile container_name: itse-b08-spring depends_on: postgres: condition: service_healthy environment: SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/pw_demo SPRING_DATASOURCE_USERNAME: pw_demo SPRING_DATASOURCE_PASSWORD: pw_demo SPRING_JPA_HIBERNATE_DDL_AUTO: update ports: - "8080:8080" networks: - app-network volumes: postgres_data: networks: app-network: driver: bridge