Question

Deploying a Meteor app with MUP to a droplet

As are many others, I am trying to deploy a Meteor app to my Digital Ocean droplet using MUP, although I seem to be one of the few getting stuck at mup setup.

I have configured an SSH key pair for my droplet, and can login remotely from my Mac terminal. I have also created another user (aside from root) and disabled root access (which may be the source of my problem?). No password is needed to establish a connection with my droplet as the user via my SSH key pair.

When using mup setup it fails when trying to install Node from the beginning of the process due to permissions:

[128.199.143.49] ✘ Installing Node.js: FAILED
        
        -----------------------------------STDERR-----------------------------------
        Warning: Permanently added '128.199.143.49' (ECDSA) to the list of known hosts.
        Permission denied, please try again.
        Permission denied, please try again.
        Permission denied (publickey,password).
        -----------------------------------STDOUT-----------------------------------
        ----------------------------------------------------------------------------

here is the mup.json info for “servers”:

{
      "host": "128.199.143.49",
      "username": "user1",
      //"password": "pw"
      // or pem file (ssh based authentication)
      "pem": "~/.ssh/id_rsa"
    }

If I try to run mup setup as root, I get prompted for a password, even though I have removed the password:

Started TaskList: Setup (linux)
[128.199.143.49] - Installing Node.js
root@128.199.143.49's password: 
root@128.199.143.49's password: 
root@128.199.143.49's password: 
[128.199.143.49] ✘ Installing Node.js: FAILED
        
        -----------------------------------STDERR-----------------------------------
        Warning: Permanently added '128.199.143.49' (ECDSA) to the list of known hosts.
        Permission denied, please try again.
        Permission denied, please try again.
        Permission denied (publickey,password).
        -----------------------------------STDOUT-----------------------------------
        ----------------------------------------------------------------------------
Completed TaskList: Setup (linux)

Before I removed the password, I tried mup setup as root with the password and was unsuccessful.

If there is any other information that I can provide that would help, please let me know.

Here is my mup.json file for good measure:

{
  // Server authentication info
  "servers": [
    {
      "host": "128.199.143.49",
      "username": "user1",
      //"password": "pw"
      // or pem file (ssh based authentication)
      "pem": "~/.ssh/id_rsa"
    }
  ],

  // Install MongoDB in the server, does not destroy local MongoDB on future setup
  "setupMongo": true,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": true,

  // WARNING: If nodeVersion omitted will setup 0.10.36 by default. Do not use v, only version number.
  "nodeVersion": "3.9.6",

  // Install PhantomJS in the server
  "setupPhantom": true,

  // Show a progress bar during the upload of the bundle to the server. 
  // Might cause an error in some rare cases if set to true, for instance in Shippable CI
  "enableUploadProgressBar": true,

  // Application name (No spaces)
  "appName": "foundation",

  // Location of app (local directory)
  "app": "../",

  // Configure environment
  "env": {
    "ROOT_URL": "http://ryan-neil.com"
  },

  // Meteor Up checks if the app comes online just after the deployment
  // before mup checks that, it will wait for no. of seconds configured below
  "deployCheckWaitTime": 60
}

Thanks!

Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

(From Ryan)

Hello Brook, thanks for the response :)

Finally got it working. Long story short, needed to use mupx instead of mup. That solved my permissions problems after once more running back through the Github page for MUP and getting stuck with 403 errors.

After successfully running mupx setup the deploy process went through smoothly, except that I got errors that port80 was already in use. Rebuilt my droplet, ran through mupx setup and deploy again, and voila.

Hope that helps anyone else.

Thanks again! Ryan

This comment has been deleted