services: # backend: # container_name: backend-e-trznice # build: # context: ./backend # dockerfile: dockerfile # restart: always # env_file: # - ./backend/.env # networks: # - app_network # depends_on: # - db # - redis # volumes: # - static-data:/app/collectedstaticfiles # - media-data:/app/media # command: sh -c " # python manage.py migrate --verbosity 3 --noinput && # python manage.py check && # python manage.py collectstatic --clear --noinput --verbosity 3 && # python manage.py seed_app_config && # gunicorn -k uvicorn.workers.UvicornWorker trznice.asgi:application --bind 0.0.0.0:8000" # ports: # - "8000:8000" # db: # image: postgres:15-alpine # container_name: postgres-e-trznice # restart: always # env_file: # - ./backend/.env # volumes: # - db-data:/var/lib/postgresql/data # ports: # - "5432:5432" # networks: # - app_network # redis: #extremly fast db, stores data in RAM memory # container_name: redis-e-trznice # image: redis:alpine # restart: always # env_file: # - ./backend/.env # volumes: # - redis-data:/data # expose: # - "6379" # networks: # - app_network # celery: #task queue for handling asynchronous/hard tasks # container_name: celery-e-trznice # build: # context: ./backend # dockerfile: dockerfile # command: sh -c "python manage.py migrate --noinput && celery -A trznice worker --loglevel=info" # restart: always # env_file: # - ./backend/.env # depends_on: # - redis # - db # - backend # networks: # - app_network # celery-beat: #periodic tasks scheduler # container_name: celery-beat-e-trznice # build: # context: ./backend # dockerfile: dockerfile # command: sh -c "python manage.py migrate --noinput && celery -A trznice beat --loglevel=info" # restart: always # env_file: # - ./backend/.env # depends_on: # - redis # - db # - backend # networks: # - app_network #end of backend services ----------------------- nginx: #web server, reverse proxy, serves static files container_name: nginx-STANDART build: context: ./frontend dockerfile: Dockerfile.prod env_file: - ./frontend/.env ports: - 8060:80 # - 9000:80 # depends_on: # - backend networks: - app_network volumes: - static-data:/app/collectedstaticfiles # static (Django) - media-data:/app/media # media (Django) - ./frontend/nginx/nginx.conf:/etc/nginx/nginx.conf:ro networks: app_network: driver: bridge volumes: redis-data: db-data: static-data: media-data: