version: '3.5' services: cmdb-db: image: registry.cn-qingdao.aliyuncs.com/pycook/cmdb-db:1.0 container_name: cmdb-db environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: '123456' MYSQL_DATABASE: 'cmdb' MYSQL_USER: 'cmdb' MYSQL_PASSWORD: '123456' volumes: - db-data:/var/lib/mysql - ./docs/cmdb_en.sql:/docker-entrypoint-initdb.d/cmdb.sql networks: new: aliases: - mysql cmdb-cache: image: registry.cn-qingdao.aliyuncs.com/pycook/cmdb-cache:1.0 container_name: cmdb-cache networks: new: aliases: - redis cmdb-search: image: registry.cn-qingdao.aliyuncs.com/pycook/cmdb-search:1.2 # build: # context: . # target: cmdb-search container_name: cmdb-search environment: - discovery.type=single-node - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 volumes: - esdata:/usr/share/elasticsearch/data ports: - 9200:9200 networks: new: aliases: - cmdb-search cmdb-api: image: registry.cn-qingdao.aliyuncs.com/pycook/cmdb-api:2.2 # build: # context: . # target: cmdb-api container_name: cmdb-api environment: TZ: Asia/Shanghai WAIT_HOSTS: cmdb-db:3306, cmdb-cache:6379, cmdb-search:9200 command: - /bin/sh - -c - | sed -i "s#USE_ES = False#USE_ES = True#g" settings.py sed -i "s#USE_ACL = False#USE_ACL = True#g" settings.py sed -i "s#ES_HOST = '127.0.0.1'#ES_HOST = 'cmdb-search'#g" settings.py /wait sleep 5 gunicorn --workers=3 autoapp:app -b 0.0.0.0:5000 -D flask init-cache flask init-acl celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1 depends_on: - cmdb-db - cmdb-cache - cmdb-search networks: new: aliases: - cmdb-api cmdb-ui: image: registry.cn-qingdao.aliyuncs.com/pycook/cmdb-ui:2.2 # build: # context: . # target: cmdb-ui container_name: cmdb-ui depends_on: - cmdb-api 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: esdata: networks: new: