MUP deployment to multiple servers failed


#1

Hi,

After successfully using the latest version of mup to deploy my meteor app to a single server, I try to deploy my meteor app to a multiple servers but I failed and got the following error

-----------------------------------STDERR-----------------------------------
Error response from daemon: No such container: novaapp
Error response from daemon: No such container: novaapp-frontend
docker: Error response from daemon: Could not get container for mongodb.
See 'docker run --help'.
-----------------------------------STDOUT-----------------------------------
base: Pulling from abernix/meteord
Digest: sha256:d8169162ee2318f8af83b9e14efa996c61db71790fbe36297402f1e641bf435a
Status: Image is up to date for abernix/meteord:base
----------------------------------------------------------------------------

My mup.js is below
module.exports = {
servers: {
one: {
host: ‘ip1’, // your server ip
username: ‘xxxx’,
password: ‘xxxx’
// pem: ‘absolute/path/to/ssh/key’,
// password:
// or leave blank for authenticate from ssh-agent
},
two: {
host: ‘ip2’, // your server ip
username: ‘xxxx’,
password: ‘xxxxx’
// pem: ‘absolute/path/to/ssh/key’,
// password:
// or leave blank for authenticate from ssh-agent
}
},

meteor: {
name: ‘novaapp’, // name of your docker container
path: ‘…/’, // relative path to your app ; if this file is in /my-app/.deploy, this makes senses as referring to /my-app
servers: {
one: {},
two: {}
},
buildOptions: {
serverOnly: true,
},
env: {
PORT: portnumber,
ROOT_URL: ‘http://nova.adalidda.net’, // absolute url of your deploy ; it can be replaced by http://1.2.3.4 if nginx is not setup
MONGO_URL: ‘mongodb://username:password@ip1:port/Dbname?replicaSet=rs0&readPreference=primaryPreferred&w=majority’,
MONGO_OPLOG_URL: ‘mongodb://username:password@ip1:port,ip2:port/local?authSource=admin&replicaSet=rs0’
},
docker: {
image:‘abernix/meteord:base’ // docker image working with meteor 1.4 & node 4
},
setupMongo: false,
deployCheckWaitTime: 60,
enableUploadProgressBar: true
},

mongo: {
oplog: true,
port: portnumber,
servers: {
two: {},
one: {}
},
},
};

What I did wrong ?

Thank You in advance
Kosona


#2

Hi @adalidda, I have the same problem here, have you fixed this?


#3

Yes.

  1. Please make sure to have the latest version of mup from https://github.com/kadirahq/meteor-up
  2. Use the following mup.js

module.exports = {
servers: {
one: {
host: ‘ip1’, // your server ip
username: ‘root’,
password: ‘password1’
// pem: ‘absolute/path/to/ssh/key’,
// password:
// or leave blank for authenticate from ssh-agent
},
two: {
host: ‘ip2’, // your server ip
username: ‘root’,
password: ‘password2’
// pem: ‘absolute/path/to/ssh/key’,
// password:
// or leave blank for authenticate from ssh-agent
}
},

meteor: {
name: ‘appname’, // name of your docker container
path: ‘…/’, // relative path to your app ; if this file is in /my-app/.deploy, this makes senses as referring to /my-app
servers: {
one: {},
two: {}
},
buildOptions: {
serverOnly: true,
},
env: {
PORT: 8001,
ROOT_URL: ‘http://myurl’, // absolute url of your deploy ; it can be replaced by http://1.2.3.4 if nginx is not setup
MONGO_URL: ‘mongodb://username:password@ip1:port/dbname?authSource=admin&replicaSet=replicasetname’,
MONGO_OPLOG_URL: ‘mongodb://userlog:passwordlog@ip1:port,ip2:port/local?authSource=admin&replicaSet=replicasetname’
},
docker: {
image:‘abernix/meteord:base’ // docker image working with meteor 1.4 & node 4
},
setupMongo: false,
deployCheckWaitTime: 60,
enableUploadProgressBar: true
}

//mongodb://server:port/db?replicaSet=name
//mongo: {
// oplog: true,
// port: 30010,
// servers: {
// two: {},
// one: {}
// },
//},
};

Hope that help you to fix the issue.

Cheers,
Kosona


#4

Hi
I think you dont need this following information which let server confusing:

setupMongo: false,
mongo: {
oplog: true,
port: portnumber,
servers: {
two: {},
one: {}
},
},


#5

Hi,
I am also facing same issue you were facing once. I have one question, in MONGO_URL username and password is there, is it the username and password of user from which I am logged in on server using ssh or it is something to do with mongodb users collection, if it is related to mongodb users collection do I need to create users with any specific role or any existing user credentials will do?

Thanks in advance.


#6

The username and password here are for MongoDB authentication. Check the docs, here:

https://docs.mongodb.com/manual/core/authentication/