docker-compose.yaml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. services:
  2. backend:
  3. build:
  4. args:
  5. - NODE_ENV=development
  6. context: backend
  7. command: npm run start-watch
  8. environment:
  9. - DATABASE_DB=example
  10. - DATABASE_USER=root
  11. - DATABASE_PASSWORD=/run/secrets/db-password
  12. - DATABASE_HOST=db
  13. - NODE_ENV=development
  14. ports:
  15. - 80:80
  16. - 9229:9229
  17. - 9230:9230
  18. secrets:
  19. - db-password
  20. volumes:
  21. - ./backend/src:/code/src:ro
  22. - ./backend/package.json:/code/package.json
  23. - ./backend/package-lock.json:/code/package-lock.json
  24. - back-notused:/opt/app/node_modules
  25. networks:
  26. - public
  27. - private
  28. depends_on:
  29. - db
  30. db:
  31. image: mysql:8.0.19
  32. command: '--default-authentication-plugin=mysql_native_password'
  33. restart: always
  34. secrets:
  35. - db-password
  36. volumes:
  37. - db-data:/var/lib/mysql
  38. networks:
  39. - private
  40. environment:
  41. - MYSQL_DATABASE=example
  42. - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
  43. frontend:
  44. build:
  45. context: frontend
  46. target: development
  47. ports:
  48. - 3000:3000
  49. volumes:
  50. - ./frontend/src:/code/src
  51. - /code/node_modules
  52. networks:
  53. - public
  54. depends_on:
  55. - backend
  56. networks:
  57. public:
  58. private:
  59. volumes:
  60. back-notused:
  61. db-data:
  62. secrets:
  63. db-password:
  64. file: db/password.txt