version: '3.9' services: postgres: image: postgres:15-alpine environment: POSTGRES_DB: geo POSTGRES_USER: geo POSTGRES_PASSWORD: geo123 ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "6379:6379" backend: build: ./backend ports: - "3000:3000" environment: DATABASE_URL: postgresql://geo:geo123@postgres:5432/geo REDIS_URL: redis://redis:6379 CRYPTO_KEY: change-this-32-char-secret-key!! ANALYSIS_CONCURRENCY: 3 depends_on: - postgres - redis volumes: - ./backend:/app - /app/node_modules frontend: build: ./frontend ports: - "5173:5173" volumes: - ./frontend:/app - /app/node_modules environment: VITE_API_URL: http://localhost:3000 volumes: postgres_data: