Files
notification/docker-compose.yml

127 lines
2.9 KiB
YAML

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
ports:
- 6379:6379
rabbitmq:
image: rabbitmq:management
networks:
- lamenu
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