version: '3.7' volumes: redisdb: mongodb: networks: backend: secrets: qmicloud_config: file: ./secrets.json services: redis: image: redis container_name: qmi-cloud-redis volumes: - redisdb:/data entrypoint: redis-server --appendonly yes restart: on-failure networks: - backend mongo: image: mongo:4.2 container_name: qmi-cloud-mongo restart: on-failure volumes: - mongodb:/data/db environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example networks: - backend app: image: qlikgear/qmi-cloud-app:latest container_name: qmi-cloud-app restart: on-failure secrets: - source: qmicloud_config target: config.json environment: - HOSTNAME_URL=https://qmi-tf:3100 - REDIS_URL=redis://redis - MONGO_URI=mongodb://root:example@mongo/qmi?authSource=admin command: - ./server/wait-for.sh - --timeout=20 - mongo:27017 - -- - sh - -c - npm run start volumes: - ./logs:/logs depends_on: - mongo - redis ports: - "3000:3000" - "3100:3100" networks: - backend worker: image: qlikgear/qmi-cloud-worker:latest container_name: qmi-cloud-worker restart: on-failure deploy: replicas: 2 environment: - REDIS_URL=redis://redis - MONGO_URI=mongodb://root:example@mongo/qmi?authSource=admin - PROJECT_PATH=${PWD} - SSHPATH=/Users/aor/.ssh #command: "sh -c 'npm run worker:dev'" volumes: - ./logs:/logs - /var/run/docker.sock:/home/docker.sock depends_on: - mongo - redis networks: - backend mongo-express: image: mongo-express:0.54.0 container_name: qmi-cloud-mongo-express restart: on-failure ports: - 8081:8081 depends_on: - mongo environment: ME_CONFIG_MONGODB_ADMINUSERNAME: root ME_CONFIG_MONGODB_ADMINPASSWORD: example ME_CONFIG_BASICAUTH_USERNAME: qlik ME_CONFIG_BASICAUTH_PASSWORD: Qlik1234 networks: - backend