docker-compose.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. version: '3'
  2. services:
  3. nginx:
  4. image: nginx:1.25.2
  5. restart: unless-stopped
  6. ports:
  7. - "1333:80"
  8. depends_on:
  9. - web
  10. networks:
  11. - main
  12. volumes:
  13. - ./nginx:/etc/nginx/conf.d
  14. - static_volume:/app/static
  15. - media_volume:/app/images
  16. db:
  17. image: postgres:13
  18. env_file: .env
  19. volumes:
  20. - pgdata:/var/lib/postgresql/data
  21. networks:
  22. - main
  23. web:
  24. build: .
  25. env_file: .env
  26. command: python manage.py runserver 0.0.0.0:8000
  27. volumes:
  28. - .:/app
  29. - static_volume:/app/static
  30. - media_volume:/app/images
  31. depends_on:
  32. - db
  33. - celery_worker
  34. - redis_activity
  35. networks:
  36. - main
  37. ports:
  38. - "8000"
  39. redis_activity:
  40. image: redis:7.2.1
  41. command: redis-server --requirepass ${REDIS_ACTIVITY_PASSWORD} --appendonly yes --port ${REDIS_ACTIVITY_PORT}
  42. volumes:
  43. - ./redis.conf:/etc/redis/redis.conf
  44. - redis_activity_data:/data
  45. env_file: .env
  46. networks:
  47. - main
  48. restart: on-failure
  49. redis_broker:
  50. image: redis:7.2.1
  51. command: redis-server --requirepass ${REDIS_BROKER_PASSWORD} --appendonly yes --port ${REDIS_BROKER_PORT}
  52. volumes:
  53. - ./redis.conf:/etc/redis/redis.conf
  54. - redis_broker_data:/data
  55. env_file: .env
  56. networks:
  57. - main
  58. restart: on-failure
  59. celery_worker:
  60. env_file: .env
  61. build: .
  62. networks:
  63. - main
  64. command: celery -A celerywyrm worker -l info -Q high_priority,medium_priority,low_priority,streams,images,suggested_users,email,connectors,lists,inbox,imports,import_triggered,broadcast,misc
  65. volumes:
  66. - .:/app
  67. - static_volume:/app/static
  68. - media_volume:/app/images
  69. depends_on:
  70. - db
  71. - redis_broker
  72. restart: on-failure
  73. celery_beat:
  74. env_file: .env
  75. build: .
  76. networks:
  77. - main
  78. command: celery -A celerywyrm beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler
  79. volumes:
  80. - .:/app
  81. - static_volume:/app/static
  82. - media_volume:/app/images
  83. depends_on:
  84. - celery_worker
  85. restart: on-failure
  86. flower:
  87. build: .
  88. command: celery -A celerywyrm flower --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD} --url_prefix=flower
  89. env_file: .env
  90. volumes:
  91. - .:/app
  92. networks:
  93. - main
  94. depends_on:
  95. - db
  96. - redis_broker
  97. restart: on-failure
  98. dev-tools:
  99. build: dev-tools
  100. env_file: .env
  101. volumes:
  102. - /app/dev-tools/
  103. - .:/app
  104. volumes:
  105. pgdata:
  106. static_volume:
  107. media_volume:
  108. redis_broker_data:
  109. redis_activity_data:
  110. networks:
  111. main: