From 76679d99f4af4c944424610486ccb1dc6b20828a Mon Sep 17 00:00:00 2001 From: protokey Date: Thu, 24 Sep 2026 13:42:11 +0400 Subject: [PATCH] =?UTF-8?q?chore:=20=D0=BF=D0=BE=D0=B4=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B8=D0=BD=D1=84=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + docker-compose.yaml | 44 +++++++++++++++++++++++++++----------------- env_example | 13 +++++++++++++ 3 files changed, 41 insertions(+), 17 deletions(-) create mode 100644 env_example diff --git a/.gitignore b/.gitignore index 844238b..602da6a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ src/db.sqlite3 src/design/static_root/ __pycache__/ wheels/ +.env diff --git a/docker-compose.yaml b/docker-compose.yaml index 26b927b..b624b00 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,12 +2,11 @@ services: xui: # 3x-ui для тестирования api. Панель: http://127.0.0.1:2053 (по умолчанию admin/admin) image: docker.local/ghcr.io/mhsanaei/3x-ui:latest - restart: unless-stopped environment: XRAY_VMESS_AEAD_FORCED: "false" XUI_ENABLE_FAIL2BAN: "false" ports: - - "2053:2053" + - "127.0.0.1:2053:2053" volumes: - ./docker-services-data/xui/db/:/etc/x-ui/ - ./docker-services-data/xui/cert/:/root/cert/ @@ -15,39 +14,50 @@ services: telegram: image: docker.local/aiogram/telegram-bot-api:10.3 environment: - TELEGRAM_API_ID: "" - TELEGRAM_API_HASH: "" + TELEGRAM_API_ID: $TG_APP_ID + TELEGRAM_API_HASH: $TG_APP_HASH volumes: - telegram-bot-api-data:/var/lib/telegram-bot-api ports: - - "8081:8081" + - "127.0.0.1:8081:8081" + - "127.0.0.1:8082:8082" redis: - image: redis:latest - container_name: shop-redis + image: docker.local/redis:8.8.3-alpine ports: - - "6379:6379" + - "127.0.0.1:6379:6379" volumes: - redis_data:/data rabbitmq: - image: rabbitmq:latest - container_name: shop-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 ports: - - "5672:5672" - - "15672:15672" + - "127.0.0.1:5672:5672" + - "127.0.0.1:15672:15672" + volumes: + - rabbitmq_data:/var/lib/rabbitmq postgres: - image: postgres:latest + image: docker.local/postgres:16.15-alpine3.23 container_name: shop-postgres environment: - POSTGRES_DB: shop - POSTGRES_USER: shop - POSTGRES_PASSWORD: shop + POSTGRES_DB: $DB_NAME + POSTGRES_USER: $DB_USER + POSTGRES_PASSWORD: $DB_PASSWD ports: - - "5432:5432" + - "127.0.0.1:5432:5432" volumes: - postgres_data:/var/lib/postgresql/data volumes: telegram-bot-api-data: + redis_data: + rabbitmq_data: + postgres_data: diff --git a/env_example b/env_example new file mode 100644 index 0000000..5b610bb --- /dev/null +++ b/env_example @@ -0,0 +1,13 @@ +# Telegram Bot API server (https://my.telegram.org/apps) +TG_APP_ID= +TG_APP_HASH= + +# PostgreSQL +DB_NAME= +DB_USER= +DB_PASSWD= + +# RabbitMQ: HOST и ERLANG_COOKIE не менять после первого запуска, иначе данные не прочитаются +RABBITMQ_HOST=rabbitmq +RABBITMQ_ERLANG_COOKIE= +RABBITMQ_VHOST=/