MUP deployment on Digital Ocean Issue

Hi,

I’m facing a lot of issues.

When I run the “MUP” command, do I do it on my Digital Ocean server or my laptop?

1 Like

You run the command on your local machine. If set up well you will see it deploys to your server. Or it gives you an error. Can you show you configuration and the output?

Did you see the newer version? https://github.com/kadirahq/meteor-up/tree/mupx

Here are the 2 commands in the correct order:
https://github.com/kadirahq/meteor-up/tree/mupx#setting-up-a-server

If you see any errors post them here then we can help you with the concrete issues.

Hi,

I decided to use mupx. I managed to run setup successfully. But I face a problem for the deploy.

**AFTER MUP DEPLOY. **

Configuration file : mup.json
Settings file : settings.json

Meteor app path : /Users/ritchieng/peercapita_web
Using buildOptions : {}
events.js:85
throw er; // Unhandled ‘error’ event
^
Error: spawn meteor ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
at node.js:814:3

CONFIGURATION MUP.JSON

{
// Server authentication info
"servers": [
{
“host”: “www.peercapita.com”,
“username”: “root”,
// “password”: “password”,
// or pem file (ssh based authentication)
// WARNING: Keys protected by a passphrase are not supported
"pem": “/Users/ritchieng/.ssh/peercapita”,
// Also, for non-standard ssh port use this
//“sshOptions”: { “port” : 49154 },
// server specific environment variables
"env": {}
}
],

// Install MongoDB on the server. Does not destroy the local MongoDB on future setups
"setupMongo": true,

// Application name (no spaces).
“appName”: “peercapita”,

// Location of app (local directory). This can reference ‘~’ as the users home directory.
// i.e., “app”: “~/Meteor/my-app”,
// This is the same as the line below.
“app”: “/Users/ritchieng/peercapita_web”,

// Configure environment
// ROOT_URL must be set to your correct domain (https or http)
“env”: {
“PORT”: 80,
“ROOT_URL”: “http://www.peercapita.com
},

// Meteor Up checks if the app comes online just after the deployment.
// Before mup checks that, it will wait for the number of seconds configured below.
“deployCheckWaitTime”: 15,

// show a progress bar while uploading.
// Make it false when you deploy using a CI box.
“enableUploadProgressBar”: true
}

Did you try mupx to see if that works better? It helped me getting things working more quickly.

Yeah. It solves most of my errors.

But I still got the Error: spawn meteor ENOENT error most people face. Still can’t find out why.

Configuration file : mup.json
Settings file : settings.json

Meteor app path : /Users/ritchieng/peercapita_web
Using buildOptions : {}
events.js:85
throw er; // Unhandled ‘error’ event
^
Error: spawn meteor ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
at node.js:814:3

Oh jeez. Anyone facing this problem, I think you did not install meteor.

Error: spawn meteor ENOENT

SOLUTION:

  1. curl https://install.meteor.com/ | sh
  2. meteor appname
  3. set app path in your mup.json file
  4. mupx setup
  5. mupx deploy

But now I’ve another error at “Invoking Deployment”

Any idea what’s the issue? Thanks in advance!

-----------------------------------STDERR-----------------------------------
Error response from daemon: no such id: peercapita-frontend
Error: failed to remove containers: [peercapita-frontend]
Error response from daemon: Cannot start container e8d7cbe3a0117251a8910b2d6914c279ec778affc0b00877ff8c6f4216c67374: failed to create endpoint peercapita on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
-----------------------------------STDOUT-----------------------------------
peercapita
base: Pulling from meteorhacks/meteord
Digest: sha256:3c091d2a283b696266c3044f87d2cc8595f9ac837b2de7835cd1af0080aa5f44
Status: Image is up to date for meteorhacks/meteord:base
e8d7cbe3a0117251a8910b2d6914c279ec778affc0b00877ff8c6f4216c67374

the question that comes to mind, is what were you trying to deploy?

Thanks for the help!

Does it mean I’ve to populate the application folder with my files before I can deploy? I’m trying to get a theme up and running (INSIPNIA).

my question was about what you were trying to deploy before your realised you needed meteor installed - there is an assumption in MUP/MUPX (and other deploy tools) that you have a Meteor app to deploy,

Your current error seems to be related to this:

Do you have some other deamon running on port 80?

I went to run netstat -tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 899/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1614/nginx
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 13226/docker-proxy
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1614/nginx
tcp6 0 0 :::22 :::* LISTEN 899/sshd
tcp6 0 0 :::80 :::* LISTEN 1614/nginx

Do I use a different port for NGINX then?

Hey you’re right. Amazing advice.

Anyone having this problem, the fix is to edit your port to be 3000. Alternatively if it’s a non-essential activity on your server, you can terminate it and it would work.

1 Like

You can combine Nginx + Meteor to have multiple apps running under the same server, using Nginx to make all the logic.

In your Nginx site.conf:

server {
    listen 80;
    server_name mydomain.tld;
    charset utf-8;

    location / {
        # this is your meteor app's port
        proxy_pass http://localhost:8500; 
    }
}

then you can simply add another app on another port and generate the appropiate nginx redirect

1 Like

I had a similar issue with mup. This may or may not fix it, but try replace your “host” field with the ip address of your server.

Also, what version of node is on your server? I don’t see that your told mup to install node as well. FYI Meteor does not run on the latest version (as far as I know)!

Hey, I wrote 2 very small blogposts about this a while back, you might want to check them out:

1 Like

@ritx and @garrilla thanks guys, you helped me :slight_smile:
–> I had nginx running in the background so the lesson is to stop nginx while deploying meteor (or any process using port 80 btw)