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:
     - 80: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: