docker-compose.yml (916B)
1 version: '3.8' 2 3 services: 4 # PostgreSQL Database 5 postgres: 6 image: postgres:16-alpine 7 container_name: products-postgres 8 environment: 9 POSTGRES_DB: opentel_db 10 POSTGRES_USER: opentel_user 11 POSTGRES_PASSWORD: opentel_pass 12 ports: 13 - "5433:5432" 14 volumes: 15 - postgres_data:/var/lib/postgresql/data 16 healthcheck: 17 test: ["CMD-SHELL", "pg_isready -U opentel_user -d opentel_db"] 18 interval: 5s 19 timeout: 5s 20 retries: 5 21 22 # Products Service 23 products: 24 image: products-service 25 container_name: products-service 26 environment: 27 # Override database URL to use Docker network hostname 28 DATABASE_URL: "postgres://opentel_user:opentel_pass@postgres:5432/opentel_db" 29 RUST_LOG: info 30 ports: 31 - "3001:3001" 32 depends_on: 33 postgres: 34 condition: service_healthy 35 restart: unless-stopped 36 37 volumes: 38 postgres_data: