version: '3' services: office-xbot-app: container_name: office-xbot-app image: "${APP_IMAGE}" command: "flask --app app:create_app run --debug --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 healthcheck: test: ["CMD", "curl", "-f", "http://office-xbot-app/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" 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 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 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 networks: office-xbot-network: external: true