From 806d6bf62ad625e3dc8c66c7df5f1a598423ab78 Mon Sep 17 00:00:00 2001 From: "Azmat@qq.com" Date: Wed, 23 Sep 2026 15:35:16 +0800 Subject: [PATCH] chore: webhook deploy smoke test --- core/backend/.env | 30 ++++++------ core/backend/.env.example | 23 ++++----- core/frontend/src/omni-create-page.css | 2 +- docker-compose.yml | 66 ++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 27 deletions(-) create mode 100644 docker-compose.yml diff --git a/core/backend/.env b/core/backend/.env index 68b9fdf..c85164c 100644 --- a/core/backend/.env +++ b/core/backend/.env @@ -1,20 +1,20 @@ -DJANGO_SETTINGS_MODULE=airshelf.settings.development +DJANGO_SETTINGS_MODULE=airshelf.settings.production DJANGO_SECRET_KEY=S2GYXa8YC21lmnFfVwC+6cyFNhCCSoclhpylOmSAm16vKflUgQi398VQQSM+Rbit -DJANGO_DEBUG=true -DJANGO_ALLOWED_HOSTS=airshelf-web.airlabs.art,airshelf-web.test.airlabs.art,localhost,127.0.0.1,192.168.124.86 -DJANGO_CSRF_TRUSTED_ORIGINS=https://airshelf-web.airlabs.art,https://airshelf-web.test.airlabs.art,https://airshelf.airlabs.art,http://localhost:3000,http://127.0.0.1:3000,http://localhost:5173,http://127.0.0.1:5173,http://192.168.124.86:5173 -CORS_ALLOWED_ORIGINS=https://airshelf-web.airlabs.art,https://airshelf-web.test.airlabs.art,https://airshelf.airlabs.art,http://localhost:3000,http://127.0.0.1:3000,http://localhost:5173,http://127.0.0.1:5173,http://192.168.124.86:5173 +DJANGO_DEBUG=false +DJANGO_ALLOWED_HOSTS=yingqing.yueqing.online,localhost,127.0.0.1 +DJANGO_CSRF_TRUSTED_ORIGINS=https://yingqing.yueqing.online +CORS_ALLOWED_ORIGINS=https://yingqing.yueqing.online DB_ENGINE=mysql -DB_NAME=airshelf_test -DB_USER=airshelf_app -DB_PASSWORD=d5020f4d41e0e4c52a371ecb913be3d1f1ab2b85 -DB_HOST=14.103.27.192 +DB_NAME=yingqing_app +DB_USER=yingqing_app +DB_PASSWORD=NWXa5nDABKxcS64A +DB_HOST=8.163.33.160 DB_PORT=3306 # DB_BIND_ADDRESS=192.168.124.137 # local-dev blanked: upstream dev-host LAN addr, not present on this machine -> WinError 10049 -REDIS_CACHE_URL=redis://zyc:Zyc188208@redis-shzlsczo52dft8mia.redis.volces.com:6379/0 -CELERY_BROKER_URL=redis://zyc:Zyc188208@redis-shzlsczo52dft8mia.redis.volces.com:6379/1 -CELERY_RESULT_BACKEND=redis://zyc:Zyc188208@redis-shzlsczo52dft8mia.redis.volces.com:6379/2 -REDIS_LOCK_URL=redis://zyc:Zyc188208@redis-shzlsczo52dft8mia.redis.volces.com:6379/3 +REDIS_CACHE_URL=redis://:redis_WFSzWJ@yingqing-redis:6379/0 +CELERY_BROKER_URL=redis://:redis_WFSzWJ@yingqing-redis:6379/1 +CELERY_RESULT_BACKEND=redis://:redis_WFSzWJ@yingqing-redis:6379/2 +REDIS_LOCK_URL=redis://:redis_WFSzWJ@yingqing-redis:6379/3 TOS_ENDPOINT=https://tos-s3-cn-shanghai.volces.com TOS_BUCKET=airshelf TOS_ACCESS_KEY_ID=AKLTODVhY2U1NzY1MTU3NDA4NThiYzk2ZDMyZDNjYmZhZGY @@ -107,6 +107,6 @@ MODEL_TRYON_PROMPT_V2_ENABLED=true MODEL_TRYON_PROMPT_V2_CANARY_TEAM_IDS= # 全能创作 Agent:本机专用队列,避免远程 K8s worker 偷走未注册任务 -CREATION_AGENT_TASK_QUEUE=airshelf.local +CREATION_AGENT_TASK_QUEUE=celery # 可选:API 线程内联跑 turn(不入 Celery)。队列方案足够时保持 false -CREATION_AGENT_INLINE=true +CREATION_AGENT_INLINE=false diff --git a/core/backend/.env.example b/core/backend/.env.example index cd243be..d4f28f1 100644 --- a/core/backend/.env.example +++ b/core/backend/.env.example @@ -1,27 +1,28 @@ -DJANGO_SETTINGS_MODULE=airshelf.settings.development +DJANGO_SETTINGS_MODULE=airshelf.settings.production DJANGO_SECRET_KEY=change-me -DJANGO_DEBUG=true -DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1 -DJANGO_CSRF_TRUSTED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000 +DJANGO_DEBUG=false +DJANGO_ALLOWED_HOSTS=yingqing.yueqing.online,localhost,127.0.0.1 +DJANGO_CSRF_TRUSTED_ORIGINS=https://yingqing.yueqing.online +CORS_ALLOWED_ORIGINS=https://yingqing.yueqing.online DB_ENGINE=mysql -DB_NAME=airshelf_dev -DB_USER=airshelf +DB_NAME=yingqing_app +DB_USER=yingqing_app DB_PASSWORD=change-me -DB_HOST=127.0.0.1 +DB_HOST=yingqing-mysql DB_PORT=3306 DB_BIND_ADDRESS= -REDIS_CACHE_URL=redis://127.0.0.1:6379/0 -CELERY_BROKER_URL=redis://127.0.0.1:6379/1 -CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/2 +REDIS_CACHE_URL=redis://:YOUR_REDIS_PASSWORD@yingqing-redis:6379/0 +CELERY_BROKER_URL=redis://:YOUR_REDIS_PASSWORD@yingqing-redis:6379/1 +CELERY_RESULT_BACKEND=redis://:YOUR_REDIS_PASSWORD@yingqing-redis:6379/2 # 全能创作 Agent turn 队列。生产保持 celery(K8s 已部署该任务)。 # 本机若与远程 worker 共用 broker,设为 airshelf.local,并让本机 worker -Q 含该队列。 CREATION_AGENT_TASK_QUEUE=celery # true / AIRSHELF_CREATION_AGENT_INLINE=1:API 后台线程直接跑,不入 Celery(仅本机联调) CREATION_AGENT_INLINE=false -REDIS_LOCK_URL=redis://127.0.0.1:6379/3 +REDIS_LOCK_URL=redis://:YOUR_REDIS_PASSWORD@yingqing-redis:6379/3 TOS_ENDPOINT=https://tos-s3-cn-shanghai.volces.com TOS_BUCKET=airshelf diff --git a/core/frontend/src/omni-create-page.css b/core/frontend/src/omni-create-page.css index c161a5b..3293f07 100644 --- a/core/frontend/src/omni-create-page.css +++ b/core/frontend/src/omni-create-page.css @@ -933,7 +933,7 @@ .omni-case-card[data-mode="image"] .omni-case-visual { height: auto; - aspect-ratio: 4 / 3; + aspect-ratio: 1 / 1; } .omni-card-use { diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..74f6a36 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,66 @@ +# yingqing / AirShelf — 1Panel + Docker Compose +# MySQL/Redis 由 1Panel 安装,容器名:yingqing-mysql、yingqing-redis +# 应用加入 1panel-network,反代到本机 :8080 + +services: + airshelf-core-api: + build: + context: ./core/backend + image: airshelf-core-api:local + container_name: airshelf-core-api + restart: unless-stopped + env_file: + - ./core/backend/.env + environment: + DJANGO_SETTINGS_MODULE: airshelf.settings.production + # entrypoint 在 gunicorn 时跑 migrate + collectstatic + command: ["gunicorn", "airshelf.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "3", "--threads", "4", "--timeout", "300"] + networks: + - 1panel-network + expose: + - "8000" + + airshelf-core-worker: + image: airshelf-core-api:local + container_name: airshelf-core-worker + restart: unless-stopped + env_file: + - ./core/backend/.env + environment: + DJANGO_SETTINGS_MODULE: airshelf.settings.production + command: ["celery", "-A", "airshelf.celery:app", "worker", "-l", "info", "-Q", "celery", "--concurrency", "4"] + depends_on: + - airshelf-core-api + networks: + - 1panel-network + + airshelf-core-worker-quick: + image: airshelf-core-api:local + container_name: airshelf-core-worker-quick + restart: unless-stopped + env_file: + - ./core/backend/.env + environment: + DJANGO_SETTINGS_MODULE: airshelf.settings.production + command: ["celery", "-A", "airshelf.celery:app", "worker", "-l", "info", "-Q", "airshelf.quick", "--concurrency", "4"] + depends_on: + - airshelf-core-api + networks: + - 1panel-network + + yingqing-web: + build: + context: ./core/frontend + image: airshelf-yingqing-web:local + container_name: yingqing-web + restart: unless-stopped + depends_on: + - airshelf-core-api + ports: + - "8080:80" + networks: + - 1panel-network + +networks: + 1panel-network: + external: true