chore: переезд на serWebhook
This commit is contained in:
1 parent
45e7a1d22f
commit
f1414e5ace
42 files changed
+1391
-224
No files matched your search
+57
-4
@@ -16,11 +16,14 @@ services:
|
||||
environment:
|
||||
TELEGRAM_API_ID: $TG_APP_ID
|
||||
TELEGRAM_API_HASH: $TG_APP_HASH
|
||||
# --local: webhook на http и любой порт, в том числе на сайт на хосте
|
||||
TELEGRAM_LOCAL: "1"
|
||||
volumes:
|
||||
- telegram-bot-api-data:/var/lib/telegram-bot-api
|
||||
ports:
|
||||
- "127.0.0.1:8081:8081"
|
||||
- "127.0.0.1:8082:8082"
|
||||
network_mode: host
|
||||
# ports:
|
||||
# - "127.0.0.1:8081:8081"
|
||||
# - "127.0.0.1:8082:8082"
|
||||
|
||||
redis:
|
||||
image: docker.local/redis:8.8.3-alpine
|
||||
@@ -49,7 +52,6 @@ services:
|
||||
|
||||
postgres:
|
||||
image: docker.local/postgres:16.15-alpine3.23
|
||||
container_name: shop-postgres
|
||||
environment:
|
||||
POSTGRES_DB: $DB_NAME
|
||||
POSTGRES_USER: $DB_USER
|
||||
@@ -59,6 +61,57 @@ services:
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
|
||||
# приложение: docker compose --profile app up -d --build. Без профиля поднимается только инфраструктура для разработки
|
||||
migrate:
|
||||
<<: &app
|
||||
build: .
|
||||
image: mypointvpn:latest
|
||||
profiles: [ app ]
|
||||
env_file: .env
|
||||
# адреса сервисов внутри сети compose поверх .env, который настроен на разработку с хоста
|
||||
environment:
|
||||
DJANGO_SETTINGS_MODULE: MyPointVPN.settings.docker
|
||||
DB_HOST: postgres
|
||||
DB_PORT: "5432"
|
||||
RABBITMQ_ADDRESS: rabbitmq:5672
|
||||
TELEGRAM_API_URL: http://telegram:8081
|
||||
# Bot API сервер ходит на webhook по имени сервиса сайта, домен не нужен
|
||||
TELEGRAM_WEBHOOK_URL: http://web:8000
|
||||
ALLOWED_HOSTS: web,127.0.0.1,localhost
|
||||
volumes:
|
||||
# свой CA (SERVERUS_CERTIFICATES=local) и бэкапы - на хосте
|
||||
- ./extra/serverus/ca:/app/extra/serverus/ca
|
||||
- ./extra/backups:/app/extra/backups
|
||||
command: python manage.py migrate --noinput
|
||||
depends_on: [ postgres ]
|
||||
|
||||
web:
|
||||
<<: *app
|
||||
# админка только с хоста: ssh -L 8000:127.0.0.1:8000 сервер
|
||||
ports:
|
||||
- "127.0.0.1:8000:8000"
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
rabbitmq:
|
||||
condition: service_started
|
||||
telegram:
|
||||
condition: service_started
|
||||
|
||||
worker:
|
||||
<<: *app
|
||||
# check_points заново запускает ежедневные проверки точек: цепочки переживают потерю очереди
|
||||
command: sh -c "python manage.py check_points && exec python manage.py rundramatiq --processes 1 --threads 8"
|
||||
restart: unless-stopped
|
||||
# установка может идти до часа: даем задачам закончиться, иначе супервизор снимет их как прерванные
|
||||
stop_grace_period: 5m
|
||||
depends_on:
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
rabbitmq:
|
||||
condition: service_started
|
||||
|
||||
volumes:
|
||||
telegram-bot-api-data:
|
||||
redis_data:
|
||||
|
||||
Reference in new issue
Block a user