MUP: could use multi mongo version on the same hosting?

Mup version ( 1.4.5 ):
how to deploy multi mongo version on the same hosting?
Example:

  • IP: 1.2.3.4:3000 for application A , use mongo 3.2
  • IP: 1.2.3.4:5000 for application B , use mongo 3.4
    How to config mup.js

I’ve not tested this, but from what I see in the mup docs is that we can define env variable specific to a server.

 // list of servers to deploy to, from the 'servers' list
    servers: {
      one: {},
      two: {},
      three: {
        // Add or override env variables for specific servers (optional)
        env: {
          PORT: 5000
        }
      }
    },

So I’m assuming that in this section you pass different mongo db urls for the different versions. I hope that works.

thanks for your reply,
It mean that I have 2 applications and base on Mongo version difference
Ex: IP 1.2.3.4

  • Application A:
module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: '1.2.3.4',
      username: 'root',
      pem: '~/.ssh/id_rsa',
      // password: 'server-password'
      // or neither for authenticate from ssh-agent
    },
  },

  app: {
    // TODO: change app name and path
    name: 'app-a',
    path: '../',
    volumes: {
    },

    servers: {
      one: {},
    },

    buildOptions: {
      serverOnly: true,
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      ROOT_URL: 'http://1.2.3.4',
      MONGO_URL: 'mongodb://mongodb/app-a',
      MONGO_OPLOG_URL: 'mongodb://mongodb/local',
      PORT: 3000
    },

    docker: {
      // change to 'abernix/meteord:base' if your app is using Meteor 1.4 - 1.5
      image: 'abernix/meteord:node-8.4.0-base',
    },

    // The maximum number of seconds it will wait
    // for your app to successfully start (optional, default is 60)
    deployCheckWaitTime: 120,

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true,
  },

  mongo: {
    version: '3.6.4', // difference
    servers: {
      one: {},
    },
  },
  • Application B:
module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: '1.2.3.4',
      username: 'root',
      pem: '~/.ssh/id_rsa',
      // password: 'server-password'
      // or neither for authenticate from ssh-agent
    },
  },

  app: {
    // TODO: change app name and path
    name: 'app-b',
    path: '../',
    volumes: {
    },

    servers: {
      one: {},
    },

    buildOptions: {
      serverOnly: true,
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      ROOT_URL: 'http://1.2.3.4',
      MONGO_URL: 'mongodb://mongodb/app-b',
      MONGO_OPLOG_URL: 'mongodb://mongodb/local',
      PORT: 5000
    },

    docker: {
      // change to 'abernix/meteord:base' if your app is using Meteor 1.4 - 1.5
      image: 'abernix/meteord:node-8.4.0-base',
    },

    // The maximum number of seconds it will wait
    // for your app to successfully start (optional, default is 60)
    deployCheckWaitTime: 120,

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true,
  },

  mongo: {
    version: '3.4', // difference
    servers: {
      one: {},
    },
  },

I am not sure about mongo container to create in docker???