services: # Database: PostgreSQL + PostGIS (Map-2) db2: image: postgis/postgis:15-3.3 container_name: map2-db platform: linux/amd64 environment: POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-map2_postgres_secure_root_password_32} POSTGRES_DB: ${POSTGRES_DB:-map2_db} ports: - "5433:5432" volumes: - postgres_data2:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 # Cache: Redis (Map-2) redis2: image: redis:7-alpine container_name: map2-redis platform: linux/amd64 ports: - "6382:6379" volumes: - redis_data2:/data # Routing Engine: GraphHopper (Map-2) routing2: image: israelhikingmap/graphhopper:latest container_name: map2-routing platform: linux/amd64 ports: - "8990:8080" environment: - JAVA_OPTS=-Xmx2g -Xms512m volumes: - ./infrastructure/osm-data-v2:/data - ./infrastructure/docker/graphhopper/config.yml:/graphhopper/config.yml # مسار مطلق — انظر التعليق في docker-compose.yml command: ["-i", "/data/map2_enriched.osm.pbf", "-c", "/graphhopper/config.yml"] depends_on: - db2 # Tile Server: Martin (Map-2) # يقدم الخرائط من قاعدة البيانات الجديدة martin2: image: maplibre/martin:latest container_name: map2-martin platform: linux/amd64 ports: - "3203:3000" environment: - WATCH_DB=true command: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-intaleq2026}@db2:5432/${POSTGRES_DB:-map2_db} depends_on: db2: condition: service_healthy volumes: postgres_data2: redis_data2: