- Add sync_engine.py: background asyncio loop syncing Evotor products to VK market - Wire sync_loop into lifespan alongside health_check_loop - Add SYNC_INTERVAL_SECONDS and VK_DEFAULT_PHOTO_PATH settings to config - Mount default product image in docker-compose - Add synced_at column to CachedProduct model + migration - Show synced_at status in catalog products template - Fix VK groups API response parsing (handle list vs dict) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
1013 B
YAML
36 lines
1013 B
YAML
version: "3.8"
|
|
|
|
services:
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.web
|
|
ports:
|
|
- "8080:8000"
|
|
environment:
|
|
- DATABASE_URL=mysql+pymysql://${DB_USER}:${DB_PASSWORD}@host.docker.internal:3306/${DB_NAME}
|
|
- SECRET_KEY=${SECRET_KEY:-change-me-in-production}
|
|
- BASE_URL=${BASE_URL:-https://evosync.ru}
|
|
- EVOTOR_APP_ID=${EVOTOR_APP_ID}
|
|
- EVOTOR_WEBHOOK_SECRET=${EVOTOR_WEBHOOK_SECRET}
|
|
- VK_CLIENT_ID=${VK_CLIENT_ID}
|
|
- VK_CLIENT_SECRET=${VK_CLIENT_SECRET}
|
|
volumes:
|
|
- ./web:/app/web
|
|
- ./alembic.ini:/app/alembic.ini
|
|
- ./docker-entrypoint.sh:/app/docker-entrypoint.sh
|
|
- ./5393364294319597854.png:/app/default_product.png:ro
|
|
restart: unless-stopped
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
# sync:
|
|
# build:
|
|
# context: .
|
|
# dockerfile: Dockerfile
|
|
# volumes:
|
|
# - ./evo:/var/www/evo
|
|
# - ./vk:/var/www/vk
|
|
# - ./run:/var/www/run
|
|
# - ./logs:/var/www/logs
|