services: app: build: . ports: - "6000:6000" depends_on: - postgres - redis environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=password - POSTGRES_HOST=postgres - POSTGRES_PORT=5432 - POSTGRES_DB=transaction_db - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_DB=0 volumes: - ./app:/app command: uvicorn app.main:app --host 0.0.0.0 --port 6000 --reload postgres: image: postgres:14 volumes: - postgres_data:/var/lib/postgresql/data environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=password - POSTGRES_DB=transaction_db ports: - "5432:5432" redis: image: redis:6 ports: - "6379:6379" volumes: - redis_data:/data volumes: postgres_data: redis_data: