networks: lamenu: driver: bridge volumes: pg_data: null pycache: null rabbitmq-data: null services: traefik: image: traefik:v2.10 command: - "--api.insecure=true" - "--providers.docker=true" - "--entrypoints.web.address=:80" - "--providers.docker.exposedbydefault=false" ports: - "${PORT-84}:80" - "8080:8080" # Dashboard uchun volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" networks: - lamenu user-nginx: labels: - "traefik.enable=true" - "traefik.http.routers.user.rule=PathPrefix(`/user`)" - "traefik.http.routers.user.entrypoints=web" - "traefik.http.services.user.loadbalancer.server.port=80" - "traefik.http.middlewares.user-strip-prefix.stripPrefix.prefixes=/user" - "traefik.http.routers.user.middlewares=user-strip-prefix" networks: - lamenu volumes: - ./user/resources/layout/nginx.conf:/etc/nginx/nginx.conf - ./user/resources/:/usr/share/nginx/html/resources/ build: context: ./user dockerfile: ./docker/Dockerfile.nginx depends_on: - user profiles: - user user: networks: - lamenu build: context: ./user dockerfile: ./docker/Dockerfile.web restart: always command: ${user_COMMAND:-sh ./resources/scripts/entrypoint.sh} environment: - PYTHONPYCACHEPREFIX=/var/cache/pycache - JWT_KEY=${JWT_KEY} volumes: - ./user:/code - pycache:/var/cache/pycache depends_on: - user-db - redis profiles: - user user-db: networks: - lamenu image: postgres:16 restart: always environment: POSTGRES_DB: django POSTGRES_USER: postgres POSTGRES_PASSWORD: '2309' volumes: - pg_data:/var/lib/postgresql/data profiles: - user payment: labels: - "traefik.enable=true" - "traefik.http.routers.payment.rule=PathPrefix(`/payment`)" - "traefik.http.routers.payment.entrypoints=web" - "traefik.http.services.payment.loadbalancer.server.port=8000" networks: - lamenu build: context: ./payment dockerfile: ./Dockerfile restart: always environment: - JWT_KEY=${JWT_KEY} volumes: - ./payment:/code - pycache:/var/cache/pycache profiles: - payment notification: build: context: ./notification dockerfile: Dockerfile networks: - lamenu profiles: - notification redis: networks: - lamenu restart: always image: redis rabbitmq: image: rabbitmq:management container_name: rabbitmq ports: - "5672:5672" # RabbitMQ porti - "15672:15672" # Web konsol porti environment: - RABBITMQ_DEFAULT_USER=guest # Foydalanuvchi nomi - RABBITMQ_DEFAULT_PASS=guest # Parol volumes: - rabbitmq-data:/var/lib/rabbitmq # Ma'lumotlarni saqlash