ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
95 lines
2.7 KiB
YAML
95 lines
2.7 KiB
YAML
services:
|
|
office-xbot-app:
|
|
container_name: office-xbot-app
|
|
image: "${APP_IMAGE}"
|
|
command: "flask --app app:create_app run --port 8080 --host 0.0.0.0"
|
|
ports:
|
|
- "0.0.0.0:8080:8080"
|
|
environment:
|
|
- APP_ID=${APP_ID}
|
|
- APP_SECRET=${APP_SECRET}
|
|
- ENCRYPT_KEY=${ENCRYPT_KEY}
|
|
- VERIFICATION_TOKEN=${VERIFICATION_TOKEN}
|
|
- BITABLE_TOKEN=${BITABLE_TOKEN}
|
|
- TABLE_ID=${TABLE_ID}
|
|
- BROKER_URL=${BROKER_URL}
|
|
- RESULT_BACKEND=${RESULT_BACKEND}
|
|
- XBOT_USERNAME=${XBOT_USERNAME}
|
|
- XBOT_PASSWORD=${XBOT_PASSWORD}
|
|
- OFFICE_XBOT_BITABLE_TOKEN=${OFFICE_XBOT_BITABLE_TOKEN}
|
|
- OFFICE_XBOT_TABLE_ID=${OFFICE_XBOT_TABLE_ID}
|
|
- OFFICE_XBOT_VIEW_ID=${OFFICE_XBOT_VIEW_ID}
|
|
- TZ=Asia/Shanghai
|
|
- MALLOC_ARENA_MAX=2
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/index')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
start_interval: 5s
|
|
|
|
office-xbot-celery:
|
|
container_name: office-xbot-celery
|
|
image: "${APP_IMAGE}"
|
|
command: "celery -A app.make_celery worker -B --loglevel INFO --pool=solo"
|
|
environment:
|
|
- APP_ID=${APP_ID}
|
|
- APP_SECRET=${APP_SECRET}
|
|
- ENCRYPT_KEY=${ENCRYPT_KEY}
|
|
- VERIFICATION_TOKEN=${VERIFICATION_TOKEN}
|
|
- BITABLE_TOKEN=${BITABLE_TOKEN}
|
|
- TABLE_ID=${TABLE_ID}
|
|
- BROKER_URL=${BROKER_URL}
|
|
- RESULT_BACKEND=${RESULT_BACKEND}
|
|
- XBOT_USERNAME=${XBOT_USERNAME}
|
|
- XBOT_PASSWORD=${XBOT_PASSWORD}
|
|
- OFFICE_XBOT_BITABLE_TOKEN=${OFFICE_XBOT_BITABLE_TOKEN}
|
|
- OFFICE_XBOT_TABLE_ID=${OFFICE_XBOT_TABLE_ID}
|
|
- OFFICE_XBOT_VIEW_ID=${OFFICE_XBOT_VIEW_ID}
|
|
- FEISHU_GROUP_CHAT_ID=${FEISHU_GROUP_CHAT_ID}
|
|
- TZ=Asia/Shanghai
|
|
- MALLOC_ARENA_MAX=2
|
|
healthcheck:
|
|
test: ["CMD", "celery", "inspect", "ping"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
depends_on:
|
|
- office-xbot-redis
|
|
|
|
office-xbot-redis:
|
|
container_name: office-xbot-redis
|
|
image: redis:latest
|
|
ports:
|
|
- "6379:6379"
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- MALLOC_ARENA_MAX=2
|
|
|
|
office-xbot-flower:
|
|
container_name: office-xbot-flower
|
|
image: "${APP_IMAGE}"
|
|
command: "celery --broker=${BROKER_URL} flower --loglevel INFO"
|
|
ports:
|
|
- "5555:5555"
|
|
depends_on:
|
|
office-xbot-celery:
|
|
condition: service_healthy
|
|
restart: true
|
|
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- MALLOC_ARENA_MAX=2
|
|
|
|
|
|
networks:
|
|
office-xbot-network:
|
|
external: true
|