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: