73 lines
1.9 KiB
YAML
73 lines
1.9 KiB
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-please_pay_me}
|
|
POSTGRES_USER: ${POSTGRES_USER:-ppm}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ppm}
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-ppm} -d ${POSTGRES_DB:-please_pay_me}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
bot:
|
|
build: .
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
BOT_TOKEN: ${BOT_TOKEN}
|
|
PROXY_URL: ${PROXY_URL:-socks5://127.0.0.1:10808}
|
|
API_BASE_URL: ${API_BASE_URL:-http://127.0.0.1:51291}
|
|
API_TOKEN: ${API_TOKEN}
|
|
depends_on:
|
|
api:
|
|
condition: service_started
|
|
|
|
api:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.api
|
|
restart: unless-stopped
|
|
ports:
|
|
- "51291:8000"
|
|
environment:
|
|
BOT_TOKEN: ${BOT_TOKEN}
|
|
API_TOKEN: ${API_TOKEN}
|
|
JWT_SECRET: ${JWT_SECRET:-}
|
|
CORS_ORIGINS: ${CORS_ORIGINS:-*}
|
|
YANDEX_CLIENT_ID: ${YANDEX_CLIENT_ID:-}
|
|
YANDEX_CLIENT_SECRET: ${YANDEX_CLIENT_SECRET:-}
|
|
YANDEX_REDIRECT_URI: ${YANDEX_REDIRECT_URI:-https://please-pay-me.ru/}
|
|
YANDEX_REDIRECT_URIS: ${YANDEX_REDIRECT_URIS:-}
|
|
PUBLIC_WEB_ORIGIN: ${PUBLIC_WEB_ORIGIN:-https://please-pay-me.ru}
|
|
ConnectionStrings__Default: >-
|
|
Host=db;Port=5432;Database=${POSTGRES_DB:-please_pay_me};Username=${POSTGRES_USER:-ppm};Password=${POSTGRES_PASSWORD:-ppm}
|
|
ASPNETCORE_URLS: http://+:8000
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.web
|
|
args:
|
|
VITE_API_BASE_URL: ${VITE_API_BASE_URL:-}
|
|
VITE_TELEGRAM_BOT_USERNAME: ${TELEGRAM_BOT_USERNAME}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "51290:80"
|
|
depends_on:
|
|
- api
|
|
|
|
volumes:
|
|
pgdata:
|