services: xui: # 3x-ui для тестирования api. Панель: http://127.0.0.1:2053 (по умолчанию admin/admin) image: docker.local/ghcr.io/mhsanaei/3x-ui:latest environment: XRAY_VMESS_AEAD_FORCED: "false" XUI_ENABLE_FAIL2BAN: "false" ports: - "127.0.0.1:2053:2053" volumes: - ./docker-services-data/xui/db/:/etc/x-ui/ - ./docker-services-data/xui/cert/:/root/cert/ telegram: image: docker.local/aiogram/telegram-bot-api:10.3 environment: TELEGRAM_API_ID: $TG_APP_ID TELEGRAM_API_HASH: $TG_APP_HASH volumes: - telegram-bot-api-data:/var/lib/telegram-bot-api ports: - "127.0.0.1:8081:8081" - "127.0.0.1:8082:8082" redis: image: docker.local/redis:8.8.3-alpine ports: - "127.0.0.1:6379:6379" volumes: - redis_data:/data rabbitmq: image: docker.local/rabbitmq:4.3.6-management-alpine # Данные лежат в mnesia/rabbit@, поэтому hostname и cookie фиксируем, # чтобы при переносе volume новый контейнер смог их прочитать hostname: $RABBITMQ_HOST environment: RABBITMQ_NODENAME: rabbit@$RABBITMQ_HOST RABBITMQ_ERLANG_COOKIE: $RABBITMQ_ERLANG_COOKIE RABBITMQ_DEFAULT_VHOST: $RABBITMQ_VHOST # guest пускают только с localhost контейнера, поэтому свой пользователь RABBITMQ_DEFAULT_USER: $RABBITMQ_USER RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD ports: - "127.0.0.1:5672:5672" - "127.0.0.1:15672:15672" volumes: - rabbitmq_data:/var/lib/rabbitmq postgres: image: docker.local/postgres:16.15-alpine3.23 container_name: shop-postgres environment: POSTGRES_DB: $DB_NAME POSTGRES_USER: $DB_USER POSTGRES_PASSWORD: $DB_PASSWD ports: - "127.0.0.1:5432:5432" volumes: - postgres_data:/var/lib/postgresql/data volumes: telegram-bot-api-data: redis_data: rabbitmq_data: postgres_data: