todo-api / phase-5 /docker-compose.yml
Nanny7's picture
feat: Phase 5 complete - Full stack AI Todo application with Dapr and Kafka
5c244a3
version: '3.8'
services:
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
- NEXT_PUBLIC_API_URL=http://backend:8000
depends_on:
- backend
networks:
- todo-network
backend:
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgresql+asyncpg://postgres:secretpass@db:5432/todo
- DAPR_HTTP_PORT=3500
depends_on:
- db
- kafka
networks:
- todo-network
db:
image: postgres:15-alpine
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=secretpass
- POSTGRES_DB=todo
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- todo-network
kafka:
image: redpandadata/redpanda:v23.2.10
command:
- redpanda
- start
- --overprovisioned
- --smp=1
- --memory=1G
- --reserve-memory=0M
- --node-id=0
- --kafka-addr=PLAINTEXT://0.0.0.0:9092,OUTSIDE://0.0.0.0:9093
- --advertise-kafka-addr=PLAINTEXT://kafka:9092,OUTSIDE://localhost:9093
ports:
- "9092:9092"
- "9093:9093"
networks:
- todo-network
volumes:
postgres-data:
networks:
todo-network:
driver: bridge