{"repo": "c25adprojectteam7/adprojectmobile", "files": {"docker-compose.yml": {"749f6c513a948faaaf5af9c8bfbd6db3e6f19a0b": {"t": 1786067328.3351166, "n": 2407, "h": "31eccf0b00b4c263", "c": "# ============================================================\n# Docker Compose — Mobile Platform (API + Agent/ML + MySQL)\n# Start: docker compose up -d\n# ============================================================\n\nservices:\n\n # ---- MySQL 8.0 ----\n mysql:\n image: mysql:8.0\n container_name: mobile-mysql\n restart: unless-stopped\n environment:\n MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-Root@2026!}\n MYSQL_DATABASE: mobile\n MYSQL_USER: mobile_user\n MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Mobile@2026!}\n volumes:\n - mysql-data:/var/lib/mysql # persist data\n - ./docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql\n ports:\n - \"127.0.0.1:3306:3306\" # localhost only\n healthcheck:\n test: [\"CMD\", \"mysqladmin\", \"ping\", \"-h\", \"localhost\",\n \"-u\", \"mobile_user\", \"-p${MYSQL_PASSWORD:-Mobile@2026!}\"]\n interval: 10s\n timeout: 5s\n retries: 5\n networks:\n - mobile-network\n\n # ---- Spring Boot API ----\n spring-api:\n build:\n context: .\n dockerfile: Dockerfile.ci\n container_name: mobile-spring-api\n restart: unless-stopped\n depends_on:\n mysql:\n condition: service_healthy\n agent-ml:\n condition: service_healthy\n environment:\n - SPRING_PROFILES_ACTIVE=prod\n - DB_PASSWORD=${MYSQL_PASSWORD:-Mobile@2026!}\n - JWT_SECRET=${JWT_SECRET}\n - AGENT_ML_URL=http://agent-ml:8000\n - AMADEUS_API_KEY=${AMADEUS_API_KEY}\n - AMADEUS_API_SECRET=${AMADEUS_API_SECRET}\n - GOOGLE_PLACES_API_KEY=${GOOGLE_PLACES_API_KEY}\n volumes:\n - app-images:/var/www/adproject-mobile/images\n ports:\n - \"127.0.0.1:8080:8080\" # localhost only (Nginx proxies)\n networks:\n - mobile-network\n\n # ---- Python Agent + ML ----\n agent-ml:\n build:\n context: ./agent-ml-service\n dockerfile: Dockerfile\n container_name: mobile-agent-ml\n restart: unless-stopped\n environment:\n - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n - AMADEUS_API_KEY=${AMADEUS_API_KEY}\n - AMADEUS_API_SECRET=${AMADEUS_API_SECRET}\n - GOOGLE_PLACES_API_KEY=${GOOGLE_PLACES_API_KEY}\n volumes:\n - ./agent-ml-service/models:/app/models\n networks:\n - mobile-network\n\nvolumes:\n mysql-data:\n app-images:\n\nnetworks:\n mobile-network:\n driver: bridge\n"}, "016237941c3faece0ab886c3afa98e6ee8ad71a6": {"t": 1786067996.0262563, "n": 2407, "h": "31eccf0b00b4c263", "c": "# ============================================================\n# Docker Compose — Mobile Platform (API + Agent/ML + MySQL)\n# Start: docker compose up -d\n# ============================================================\n\nservices:\n\n # ---- MySQL 8.0 ----\n mysql:\n image: mysql:8.0\n container_name: mobile-mysql\n restart: unless-stopped\n environment:\n MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-Root@2026!}\n MYSQL_DATABASE: mobile\n MYSQL_USER: mobile_user\n MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Mobile@2026!}\n volumes:\n - mysql-data:/var/lib/mysql # persist data\n - ./docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql\n ports:\n - \"127.0.0.1:3306:3306\" # localhost only\n healthcheck:\n test: [\"CMD\", \"mysqladmin\", \"ping\", \"-h\", \"localhost\",\n \"-u\", \"mobile_user\", \"-p${MYSQL_PASSWORD:-Mobile@2026!}\"]\n interval: 10s\n timeout: 5s\n retries: 5\n networks:\n - mobile-network\n\n # ---- Spring Boot API ----\n spring-api:\n build:\n context: .\n dockerfile: Dockerfile.ci\n container_name: mobile-spring-api\n restart: unless-stopped\n depends_on:\n mysql:\n condition: service_healthy\n agent-ml:\n condition: service_healthy\n environment:\n - SPRING_PROFILES_ACTIVE=prod\n - DB_PASSWORD=${MYSQL_PASSWORD:-Mobile@2026!}\n - JWT_SECRET=${JWT_SECRET}\n - AGENT_ML_URL=http://agent-ml:8000\n - AMADEUS_API_KEY=${AMADEUS_API_KEY}\n - AMADEUS_API_SECRET=${AMADEUS_API_SECRET}\n - GOOGLE_PLACES_API_KEY=${GOOGLE_PLACES_API_KEY}\n volumes:\n - app-images:/var/www/adproject-mobile/images\n ports:\n - \"127.0.0.1:8080:8080\" # localhost only (Nginx proxies)\n networks:\n - mobile-network\n\n # ---- Python Agent + ML ----\n agent-ml:\n build:\n context: ./agent-ml-service\n dockerfile: Dockerfile\n container_name: mobile-agent-ml\n restart: unless-stopped\n environment:\n - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n - AMADEUS_API_KEY=${AMADEUS_API_KEY}\n - AMADEUS_API_SECRET=${AMADEUS_API_SECRET}\n - GOOGLE_PLACES_API_KEY=${GOOGLE_PLACES_API_KEY}\n volumes:\n - ./agent-ml-service/models:/app/models\n networks:\n - mobile-network\n\nvolumes:\n mysql-data:\n app-images:\n\nnetworks:\n mobile-network:\n driver: bridge\n"}, "adf0ab625488d9288468ce1e2911625a5bdd1c09": {"t": 1786068159.7705047, "n": 2407, "h": "31eccf0b00b4c263", "c": "# ============================================================\n# Docker Compose — Mobile Platform (API + Agent/ML + MySQL)\n# Start: docker compose up -d\n# ============================================================\n\nservices:\n\n # ---- MySQL 8.0 ----\n mysql:\n image: mysql:8.0\n container_name: mobile-mysql\n restart: unless-stopped\n environment:\n MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-Root@2026!}\n MYSQL_DATABASE: mobile\n MYSQL_USER: mobile_user\n MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Mobile@2026!}\n volumes:\n - mysql-data:/var/lib/mysql # persist data\n - ./docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql\n ports:\n - \"127.0.0.1:3306:3306\" # localhost only\n healthcheck:\n test: [\"CMD\", \"mysqladmin\", \"ping\", \"-h\", \"localhost\",\n \"-u\", \"mobile_user\", \"-p${MYSQL_PASSWORD:-Mobile@2026!}\"]\n interval: 10s\n timeout: 5s\n retries: 5\n networks:\n - mobile-network\n\n # ---- Spring Boot API ----\n spring-api:\n build:\n context: .\n dockerfile: Dockerfile.ci\n container_name: mobile-spring-api\n restart: unless-stopped\n depends_on:\n mysql:\n condition: service_healthy\n agent-ml:\n condition: service_healthy\n environment:\n - SPRING_PROFILES_ACTIVE=prod\n - DB_PASSWORD=${MYSQL_PASSWORD:-Mobile@2026!}\n - JWT_SECRET=${JWT_SECRET}\n - AGENT_ML_URL=http://agent-ml:8000\n - AMADEUS_API_KEY=${AMADEUS_API_KEY}\n - AMADEUS_API_SECRET=${AMADEUS_API_SECRET}\n - GOOGLE_PLACES_API_KEY=${GOOGLE_PLACES_API_KEY}\n volumes:\n - app-images:/var/www/adproject-mobile/images\n ports:\n - \"127.0.0.1:8080:8080\" # localhost only (Nginx proxies)\n networks:\n - mobile-network\n\n # ---- Python Agent + ML ----\n agent-ml:\n build:\n context: ./agent-ml-service\n dockerfile: Dockerfile\n container_name: mobile-agent-ml\n restart: unless-stopped\n environment:\n - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}\n - AMADEUS_API_KEY=${AMADEUS_API_KEY}\n - AMADEUS_API_SECRET=${AMADEUS_API_SECRET}\n - GOOGLE_PLACES_API_KEY=${GOOGLE_PLACES_API_KEY}\n volumes:\n - ./agent-ml-service/models:/app/models\n networks:\n - mobile-network\n\nvolumes:\n mysql-data:\n app-images:\n\nnetworks:\n mobile-network:\n driver: bridge\n"}}}}