docker-compose.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. version: '3.8'
  2. services:
  3. # Frontend - React Application
  4. frontend:
  5. build:
  6. context: ./frontend
  7. dockerfile: Dockerfile
  8. ports:
  9. - "3000:3000"
  10. environment:
  11. - REACT_APP_API_URL=http://backend:4000
  12. depends_on:
  13. - backend
  14. networks:
  15. - app-network
  16. # Backend - Node.js API
  17. backend:
  18. build:
  19. context: ./backend
  20. dockerfile: Dockerfile
  21. ports:
  22. - "4000:4000"
  23. environment:
  24. - NODE_ENV=development
  25. - DATABASE_URL=postgresql://postgres:password@database:5432/byop_sample
  26. - JWT_SECRET=your-secret-key-here
  27. depends_on:
  28. - database
  29. networks:
  30. - app-network
  31. # Database - PostgreSQL
  32. database:
  33. image: postgres:15
  34. environment:
  35. - POSTGRES_USER=postgres
  36. - POSTGRES_PASSWORD=password
  37. - POSTGRES_DB=byop_sample
  38. ports:
  39. - "5432:5432"
  40. volumes:
  41. - postgres_data:/var/lib/postgresql/data
  42. - ./database/init.sql:/docker-entrypoint-initdb.d/init.sql
  43. networks:
  44. - app-network
  45. volumes:
  46. postgres_data:
  47. networks:
  48. app-network:
  49. driver: bridge