services: cmdb-db: image: registry.cn-hangzhou.aliyuncs.com/veops/cmdb-db:2.3 container_name: cmdb-db env_file: - .env environment: TZ: Asia/Shanghai volumes: - db-data:/var/lib/mysql - ./docs/mysqld.cnf:/etc/mysql/conf.d/mysqld.cnf - ./docs/cmdb.sql:/docker-entrypoint-initdb.d/cmdb.sql healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-p$MYSQL_ROOT_PASSWORD"] interval: 10s timeout: 5s retries: 5 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci networks: new: aliases: - mysql ports: - '23306:3306' cmdb-cache: image: registry.cn-hangzhou.aliyuncs.com/veops/cmdb-cache:2.3 container_name: cmdb-cache environment: TZ: Asia/Shanghai volumes: - cache-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 networks: new: aliases: - redis cmdb-api: image: registry.cn-hangzhou.aliyuncs.com/veops/cmdb-api:2.4.13 container_name: cmdb-api env_file: - .env environment: TZ: Asia/Shanghai WAIT_HOSTS: cmdb-db:3306, cmdb-cache:6379 depends_on: cmdb-db: condition: service_healthy cmdb-cache: condition: service_healthy command: - /bin/sh - -c - | sed -i "s#USE_ACL = False#USE_ACL = True#g" settings.py /wait flask db-setup flask common-check-new-columns gunicorn --workers=4 autoapp:app -b 0.0.0.0:5000 -D celery -A celery_worker.celery worker -E -Q one_cmdb_async --autoscale=4,1 --logfile=one_cmdb_async.log -D celery -A celery_worker.celery worker -E -Q acl_async --logfile=one_acl_async.log --autoscale=2,1 -D nohup flask cmdb-trigger > trigger.log 2>&1 & flask cmdb-init-cache flask cmdb-init-acl flask init-import-user-from-acl flask init-department flask cmdb-patch -v 2.4.13 flask cmdb-counter > counter.log 2>&1 networks: new: aliases: - cmdb-api healthcheck: timeout: 3s interval: 5s retries: 10 test: "ps aux|grep -v grep|grep -v '1 root'|grep gunicorn || exit 1" cmdb-ui: image: registry.cn-hangzhou.aliyuncs.com/veops/cmdb-ui:2.4.13 container_name: cmdb-ui depends_on: cmdb-api: condition: service_healthy environment: TZ: Asia/Shanghai CMDB_API_HOST: cmdb-api:5000 NGINX_PORT: 80 volumes: - ./docs/nginx.cmdb.conf.example:/etc/nginx/conf.d/nginx.cmdb.conf.example command: - /bin/sh - -c - | envsubst '$$CMDB_API_HOST $$NGINX_PORT' < /etc/nginx/conf.d/nginx.cmdb.conf.example > /etc/nginx/conf.d/cmdb.conf nginx -g 'daemon off;' networks: - new ports: - "8000:80" volumes: db-data: driver: local name: cmdb_db-data cache-data: driver: local name: cmdb_cache-data networks: new: driver: bridge name: cmdb_network