services: mysteryapp-cursor-database: image: postgres:15-alpine container_name: mysteryapp-cursor-database environment: POSTGRES_DB: mysteryapp_cursor POSTGRES_USER: mysteryapp_user POSTGRES_PASSWORD: mysteryapp_password ports: - "0.0.0.0:5432:5432" volumes: - mysteryapp-cursor-postgres-data:/var/lib/postgresql/data networks: - mysteryapp-cursor-network mysteryapp-cursor-backend: build: context: ./backend dockerfile: Dockerfile container_name: mysteryapp-cursor-backend environment: NODE_ENV: development DATABASE_URL: postgresql://mysteryapp_user:mysteryapp_password@mysteryapp-cursor-database:5432/mysteryapp_cursor JWT_SECRET: mysteryapp_jwt_secret_key_2024 PORT: 3001 ports: - "0.0.0.0:3001:3001" depends_on: - mysteryapp-cursor-database volumes: - ./backend:/app - /app/node_modules networks: - mysteryapp-cursor-network mysteryapp-cursor-frontend: build: context: ./frontend dockerfile: Dockerfile container_name: mysteryapp-cursor-frontend environment: REACT_APP_API_URL: http://localhost:3001 ports: - "0.0.0.0:12000:3000" depends_on: - mysteryapp-cursor-backend volumes: - ./frontend:/app - /app/node_modules networks: - mysteryapp-cursor-network volumes: mysteryapp-cursor-postgres-data: networks: mysteryapp-cursor-network: driver: bridge