docker-compose.yaml 1.3 KB

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