networks: lamenu: driver: bridge volumes: pg_data: null pycache: 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 auth-nginx: labels: - "traefik.enable=true" - "traefik.http.routers.auth.rule=PathPrefix(`/auth`)" - "traefik.http.routers.auth.entrypoints=web" - "traefik.http.services.auth.loadbalancer.server.port=80" - "traefik.http.middlewares.auth-strip-prefix.stripPrefix.prefixes=/auth" - "traefik.http.routers.auth.middlewares=auth-strip-prefix" networks: - lamenu volumes: - ./auth/resources/layout/nginx.conf:/etc/nginx/nginx.conf - ./auth/resources/:/usr/share/nginx/html/resources/ build: context: ./auth dockerfile: ./docker/Dockerfile.nginx depends_on: - auth profiles: - auth auth: networks: - lamenu build: context: ./auth dockerfile: ./docker/Dockerfile.web restart: always command: ${AUTH_COMMAND:-sh ./resources/scripts/entrypoint.sh} environment: - PYTHONPYCACHEPREFIX=/var/cache/pycache - JWT_KEY=${JWT_KEY} volumes: - ./auth:/code - pycache:/var/cache/pycache depends_on: - auth-db - redis profiles: - auth auth-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: - auth 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 redis: networks: - lamenu restart: always image: redis