version: '3.9' services: db: image: postgres:15 environment: POSTGRES_USER: umdprof POSTGRES_PASSWORD: umdprof POSTGRES_DB: umdprof ports: - "5432:5432" volumes: - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql networks: - umdnet backend: build: ./backend environment: SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/umdprof SPRING_DATASOURCE_USERNAME: umdprof SPRING_DATASOURCE_PASSWORD: umdprof COMPOSE_PROJECT_NAME: umd-professor-analyzer ports: - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./docker-compose.yml:/app/docker-compose.yml:ro depends_on: - db networks: - umdnet frontend: build: ./frontend ports: - "3000:3000" depends_on: - backend networks: - umdnet scrapers: build: ./scrapers entrypoint: [ "/bin/sh", "-c", "tail -f /dev/null" ] depends_on: - db - selenium networks: - umdnet nlp_service: build: ./nlp_service ports: - "8000:8000" environment: - GROQ_API_KEY=${GROQ_API_KEY} networks: - umdnet selenium: image: seleniarm/standalone-chromium:latest ports: - "4444:4444" shm_size: 2g networks: - umdnet networks: umdnet: driver: bridge