docker-compose.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. version: "3"
  2. services:
  3. # Barcode Backend
  4. backend:
  5. restart: always
  6. build: docker-back/
  7. image: barcode-back
  8. container_name: "barcode-back"
  9. #command: bash -c "python manage.py runserver 0.0.0.0:8000"
  10. command: bash -c "gunicorn -w 4 -b 0.0.0.0:8000 barcode.wsgi:application --log-level=info --log-file=/back/gunicorn.log --access-logfile=/back/gunicorn-access.log"
  11. ports:
  12. - "8000:8000"
  13. volumes:
  14. - /opt/back:/back:rw
  15. depends_on:
  16. - mysql
  17. - rabbit
  18. - memcached
  19. environment:
  20. DEBUG: 'true'
  21. links:
  22. - rabbit:rabbit
  23. - memcached:memcached
  24. # RabbitMQ - queue
  25. rabbit:
  26. restart: always
  27. container_name: "barcode-rabbit"
  28. hostname: rabbit
  29. image: rabbitmq:3-management
  30. environment:
  31. - RABBITMQ_DEFAULT_USER=admin
  32. - RABBITMQ_DEFAULT_PASS=gW3KSoZt5K5o9V99YJUH
  33. - RABBITMQ_DEFAULT_VHOST=barcode
  34. ports:
  35. - "5672:5672"
  36. - "15672:15672" # here, we can access rabbitmq management plugin
  37. # Celery worker
  38. celery-w:
  39. restart: always
  40. image: barcode-back
  41. container_name: "barcode-celery-w"
  42. command: sh -c "python -m celery -A barcode worker -l debug"
  43. volumes:
  44. - /opt/back:/back:rw
  45. links:
  46. - rabbit:rabbit
  47. depends_on:
  48. - rabbit
  49. - backend
  50. # Celery Beat
  51. celery-b:
  52. restart: always
  53. image: barcode-back
  54. container_name: "barcode-celery-b"
  55. command: sh -c "python -m celery -A barcode beat --pidfile= -l debug"
  56. volumes:
  57. - /opt/back:/back:rw
  58. links:
  59. - rabbit:rabbit
  60. depends_on:
  61. - celery-w
  62. - rabbit
  63. # Celery Flower
  64. celery-f:
  65. restart: always
  66. image: barcode-back
  67. container_name: "barcode-celery-f"
  68. command: sh -c "python -m celery -A barcode flower --port=5555 --broker=amqp://admin:gW3KSoZt5K5o9V99YJUH@rabbit:5672/barcode"
  69. volumes:
  70. - /opt/back:/back:rw
  71. links:
  72. - rabbit:rabbit
  73. depends_on:
  74. - celery-w
  75. - rabbit
  76. ports:
  77. - "5555:5555"
  78. # Barcode Frontend
  79. frontend-dev:
  80. restart: always
  81. build: docker-front/
  82. image: barcode-front
  83. container_name: "barcode-front"
  84. expose:
  85. - "8080"
  86. ports:
  87. - "8080:8080"
  88. volumes:
  89. - /opt/front:/front:rw
  90. # Barcode Backend
  91. mysql:
  92. restart: always
  93. container_name: "barcode-mysql"
  94. image: mariadb:latest
  95. volumes:
  96. - /opt/mysql/backend-mysql:/var/lib/mysql
  97. ports:
  98. - "3306:3306"
  99. environment:
  100. - MYSQL_ROOT_PASSWORD=gW3KSoZt5K5o9V99YJUH
  101. - MYSQL_DATABASE=backend_dev
  102. - MYSQL_USER=backend
  103. - MYSQL_PASSWORD=gW3KSoZt5K5o9V99YJUH
  104. # phpmyadmin
  105. phpmyadmin:
  106. image: phpmyadmin/phpmyadmin
  107. container_name: "barcode-phpmyadmin"
  108. restart: always
  109. ports:
  110. - "5000:80"
  111. links:
  112. - mysql
  113. environment:
  114. PMA_HOST: mysql
  115. memcached:
  116. restart: always
  117. container_name: "barcode-memcached"
  118. image: memcached:latest
  119. command: "memcached -u memcache -vv -m 64 -p 11211 -l 0.0.0.0 -c 1024 -t 8"
  120. ports:
  121. - "127.0.0.1:11211:11211"